文档章节

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
博文 130
码字总数 18154
作品 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
FFMPEG for android 编译

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

Sivin
2016/12/15
370
0
程序员扪心自问:给你一份月薪40k的工作,你能胜任吗?

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

Android群英传
2017/11/21
0
0
please define NDK_ROOT

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

萌神明明
2014/03/30
0
0
NDK环境搭建和编译第一个程序

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

kelivin
2012/11/24
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

kernel version does not match DSO version

错误信息: kernel version 384.11 does not match DSO version 384.130.0 原因是: cuda driver版本太低,不匹配DSO 简单有效的修复方法,升级nvidia driver, 步骤如下: 1. google seach ...

刘小米
今天
0
0
maven坐标和依赖

一、maven坐标详解 <groupId>com.fgt.club</groupId><artifactId>club-common-service-facade</artifactId><version>3.0.0</version><packaging>jar</packaging> maven的坐标元素说......

老韭菜
今天
1
0
springmvc-servlet.xml配置表功能解释

问:<?xml version="1.0" encoding="UTF-8" ?> 答: xml version="1.0"表示是此xml文件的版本是1.0 encoding="UTF-8"表示此文件的编码方式是UTF-8 问:<!DOCTYPE beans PUBLIC "-//SPRING//......

隐士族隐逸
今天
1
0
基于TP5的微信的公众号获取登录用户信息

之前讲过微信的公众号自动登录的菜单配置,这次记录一下在TP5项目中获取自动登录的用户信息并存到数据库的操作 基本的流程为:微信设置自动登录的菜单—>访问的URL指定的函数里获取用户信息—...

月夜中徘徊
今天
0
0
youTrack

package jetbrains.teamsys.license.runtime; 计算lis package jetbrains.ring.license.reader; 验证lis 安装后先不要生成lis,要把相关文件进行替换 ring-license-checker-1.0.41.jar char......

max佩恩
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部