文档章节

ndk的学习(2)

y
 yanglingui
发布于 2017/02/08 17:31
字数 919
阅读 5
收藏 0

1.c代码的入口

//导入标准函数库 类似java的包
#include<stdio.h>
//导入标准函数库 system sizeof的方法
#include<stdlib.h>
void main(){
	//输出函数
	printf("helloword");
	system("pause");
}

2.c的基本数据类型

     int              =============     %d

     char           =============      %c

     float          ==============   %f

     double     ===============  %lf

     long        ==============      %ld

     short    =================  %x

     十六进制 ==================%x

     注意:

        1)没有byte , string

        2)控制台输出数据需要使用 --占位符

        3)输出地址的占位符    %p

 

 3.输入输出函数

#include<stdio.h>
//导入标准函数库
#include<stdlib.h>
void main(){
	int i = 12; 
	printf("清输入一个函数");
	//&i 是地址而不是值 
	scanf_s("%d", &i);//注意不同的编译工具对函数的支持不一样
	printf("你输入的数字是: %d",i);
	system("pause");

}

 

4.如何使用visual studio 创建新的项目

1)

2)

3)

4)导入标准函数库

#include<stdio.h>
//导入标准函数库
#include<stdlib.h>
void main(){

}

 

5.C语言的内存地址

1)取地址

2)根据地址取值

#include<stdio.h>
//导入标准函数库
#include<stdlib.h>
void main(){
	int i = 100;
	//输入i的值
	printf("i的值是:%d\n",i);
	//输出i变量的地址
	printf("i的地址值是%p\n:",&i);//&i 取出变量的地址 %p:地址的占位符
	//根据地址获取值
	printf("根据i的地址获取的值是:%d\n",*(&i));
	system("pause");
}

总结:  &  代表取地址           * 代表取地址的值

6.什么是变量名

对内存的空间里的一段数据的抽象

7.c语言的指针

#include<stdio.h>
//导入标准函数库
#include<stdlib.h>
void main(){
	int i = 99;
	printf("i的值是>>>%d\n",i);
	printf("i的地址是>>>%p\n", &i);
	int* p = &i;
	printf("指针变量p的值是>>>%p\n", p);
	system("pause");
}

指针就是指向地址的, 指针也是有地址的;地址不一样=内存不一样

int* : int 类型的指针变量 可以存储一个int 类型的变量地址

8.给变量赋值

1)直接赋值

2)间接地址赋值

#include<stdio.h>
//导入标准函数库
#include<stdlib.h>
void main(){
	int i = 0;
	//直接赋值;
	 i = 200;
	printf("i的值是:%d",i);
	int* p = &i;
	*p = 250;
	printf("i的值是:%d", i);
	system("pause");
}

 

7.通过方法改变量的值

1)错误

#include<stdio.h>
//导入标准函数库
#include<stdlib.h>
//形参和实参是两个不同的变量,也就意味着从新开辟了内存
void change(int a){
	a = 20;
	printf("形参a的地址是%p",&a);
}
void main(){
	//实参
	int i = 10;
	printf("实参i的地址是%p",&i);
	printf("修改前的值是%d\n ",i);
	change(i);
	printf("修改后的值是%d\n ", i);
	system("pause");

}

2)正确

#include<stdio.h>
//导入标准函数库
#include<stdlib.h>
//形参和实参是两个不同的变量,也就意味着从新开辟了内存
void change(int* a){
	*a = 20;
	printf("形参a的地址是%p",&a);
}
void main(){
	//实参
	int i = 10;
	printf("实参i的地址是%p",&i);
	printf("修改前的值是%d\n ",i);
	change(&i);
	printf("修改后的值是%d\n ", i);
	system("pause");

}

 

8.模拟外挂程序

1)

#include<stdio.h>
//导入标准函数库
#include<stdlib.h>
//形参和实参是两个不同的变量,也就意味着从新开辟了内存
//获取windows 系统的api;
#include<Windows.h>
void main(){
	int time = 60 * 10;
	while (time>0){
		time--;
		printf("还剩余游戏时间%d秒\n",time);
		Sleep(1000);
	}

}

2)标注以以下方法,允许外部程序执行

注意: windows98 系统之前是允许直接修改的

问题:  一个.exe 文件不能访问另一个.exe文件

解决办法:生成dll动态库,通过注入的方式修改其他程序的数据

a)设置属性----将配置属性设置为dll动态库

b)生成解决方案

c.通过第三方工具动态注入外挂

0x68f928

 

 

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
y
粉丝 1
博文 132
码字总数 18615
作品 0
海淀
私信 提问
闲来无事,塔建了一下android ndk和简单的编译并安装运行apk

一、Android Ndk 下载地址 http://developer.android.com/tools/sdk/ndk/index.html#Installing 二、环境变量配质 1、创建环境变量名 ‘ANDROID_NDK’,变量名的值'D:androidandroid-ndk-r9'......

军歌
2013/08/28
0
0
NDK环境搭建和编译第一个程序

看了网上很多文档,学习很多前人的经验,也遇到很多问题,整理分享一下。 环境搭建:(windos XP操作系统) 1.到Cygwin的官方网站下载Cygwin的安装程序,地址是: http://www.cygwin.com/setup...

kelivin
2012/11/24
1K
1
FFMPEG for android 编译

标签(空格分隔): FFMPEG 最近在研究Android视频播放功能,网上有很多关于视频播放解码的库,但是作为程序员的我,还是希望能从源头出发,学习FFMPGE自然是势在必行了。 网上有关FFMPGE学习...

Sivin
2016/12/15
370
0
please define NDK_ROOT

刚开始学习cocos2d-x,第一步必须是把环境变量配置好。关于sdk ndk的下载都挺简单,就不加整理了。依据网上找的一些资料,进行如下配置 1.设置环境变量, 即在终端窗口编辑 sudo vi ~/.bas...

萌神明明
2014/03/30
0
0
程序员扪心自问:给你一份月薪40k的工作,你能胜任吗?

  最近打算换工作,搜了搜招聘网上安卓工程师的岗位,好多岗位月薪30k-40k,搜狗、新浪、爱奇艺、美团、挖财等都在招人,看得我激动      你是不是也心动了?也想得到这样的offer?打开...

Android群英传
2017/11/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据教程(11.9)hive操作基础知识

上一篇博客分享了hive的简介和初体验,本节博主将继续分享一些hive的操作的基础知识。 DDL操作 (1)创建表 #建表语法CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name ...

em_aaron
今天
2
0
OSChina 周四乱弹 —— 我家猫真会后空翻

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @我没有抓狂 :#今天听这个# 我艇牛逼,百听不厌,太好听辣 分享 Led Zeppelin 的歌曲《Stairway To Heaven》 《Stairway To Heaven》- Led Z...

小小编辑
今天
3
0
node调用dll

先安装python2.7 安装node-gyp cnpm install node-gyp -g 新建一个Electron-vue项目(案例用Electron-vue) vue init simulatedgreg/electron-vue my-project 安装electron-rebuild cnpm ins......

Chason-洪
今天
3
0
scala学习(一)

学习Spark之前需要学习Scala。 参考学习的书籍:快学Scala

柠檬果过
今天
3
0
通俗易懂解释网络工程中的技术,如STP,HSRP等

导读 在面试时,比如被问到HSRP的主备切换时间时多久,STP几个状态的停留时间,自己知道有这些东西,但在工作中不会经常用到,就老是记不住,觉得可能还是自己基础不够牢固,知识掌握不够全面...

问题终结者
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部