- 博客(15)
- 收藏
- 关注
原创 3. 动态库和静态库
动态库和静态库共享库source 一 编译 二 静态库 打包成lib 链接 执行 三 动态库 生成so 隐式使用so 执行 显示调用动态库 总结 完整的makefile文件动态库和静态库(共享库)Linux下有两种库:动态库和静态库(共享库) 二者的不同点在于代码被载入的时刻不同。静态库的代码在编译过程中已经被载入可执行程序,因此体积比较大。动态库(共享库)的代码在可执行程序运行时才载入内存,在编
2017-07-26 23:31:21
478
原创 使用GDB调试Android NDK native程序
使用GDB调试Android NDK nativeCC程序 准备工作 在设备上部署gdbserver 在设备上部署你的Native程序 修改文件的权限 在设备上通过gdbserver运行你的程序 在本地把本地TCP端口forward到设备的TCP端口 在本地运行Android ndk路径下的gdb程序 在gdb下设置你希望调试的Native程序 连接到设备的gdbserver 开始调试 使用GDB调
2017-07-26 02:30:28
950
原创 手工编译一个ndk程序
一NDK环境配置 NDK目录结构 添加环境变量 编译 链接 运行 源文件和编译脚本 helloc makefile Applicationmk和Androidmk 1 STL支持 2 异常支持 3 C RTTI支持 Applicationmk NDK所有模块都支持 Androidmk 设置当前模块 编译器介绍 一、NDK环境配置1.NDK目录结构 目录名 描述 build 存放和编译相
2017-07-23 22:41:22
689
原创 欢迎使用优快云-markdown编辑器
配置好环境变量 创建一个Android项目 使用aapt编译资源生成Rjava 使用javac编译java源码生成class文件 使用dx命令生成dex文件 使用aapt命令生成资源包文件包括resassetsandroidmanifestxml等 生成未签名的apk 利用JAVASDK提供的keytools工具生成证书文件 通过jarsigner命令用证书文件对未签名的APK文件进行签名 安装启动
2017-03-20 00:19:00
306
原创 学习笔记(四)
1.溢出针对有符号数。改变了符号;超过了表达范围。 2.进位针对无符号数。除了进制位其他值都可用。 3.对于有符号数最高位>=8为负数。 4. cl /c /W4(最高级别) /WX(把警告当错误) 5.C语言向零取整。 右移只能是正数区间,结果向下取整。 6.signed 默认内型。unsigned只针对整型。 7. 8%3 = 2 8%-3 = 2 -8%3 =-2
2016-03-05 18:00:39
367
原创 学习笔记(一)
楼主最近在某培训机构学习,为了养成一个每天整理笔记的好习惯,所以决定在论坛记录下 首先楼主只是小白,所以请轻喷。 然后笔记是根据课堂老师讲的内容整理然后自己理解搜索而得,错误可能比较多,希望各位高手指出 当然此笔记也可能会给一些和我一样的新手一些启发,最后我会把老师出的一些题目和PPT也给大家 大家有什么问题也可以提出来,能解答的尽量帮忙解答,学习此笔记最好懂一点c语法 1. 为
2016-03-05 17:53:52
480
原创 学习笔记(二三)
1. 浮点数a,b比较是否相等 |a-b| (根据精度决定) 2. 编码:电子设备只能实现加法、逻辑运算 3. A | 0 = 0 A & 1=A A or 0 = A A or 1 =1 A & ~A = 0 A or ~A =1 A xor 0 =A A xor
2016-03-05 17:51:29
412
转载 c++运算符重载总结
c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁、高效。在c++中不止函数可以重载,运算符也可以重载。由于一般数据类型间的运算符没有重载的必要,所以运算符重载主要是面向对象之间的。 1.一般运算符重载 在进行对象之间的运算时,程序会调用与运算符相对应的函数进行处理,所以运算符重载有两种方式:成员函数和友元函数。成员函数的形式比较简单,就是
2015-04-06 21:47:15
436
转载 c++中常用replace函数用法给出样例程序
本文主要针对c++中常用replace函数用法给出样例程序 [cpp] view plaincopy /*用法一: *用str替换指定字符串从起始位置pos开始长度为len的字符 *string& replace (size_t pos, size_t len, const string& str); */ int main() { string lin
2015-04-01 21:20:09
434
原创 根据传入的排序规则对日期进行排序
#include <stdio.h> typedef struct date { int year; int month; int day; }date; int ruleyear(int lyear,int ryear) { return (ryear<lyear); } /*int ruleyear2(int lyear,int ryear) {
2015-03-22 10:28:02
825
原创 返回一个字符串中重复出现的最长字串的长度及其开始字符
#include <stdio.h> #include <string.h>int maxsubstr(const char a[],const char **p) { int n=strlen(a);//存储字符串的长度 int i=0,j=0; int cnt[n];//存储字符的相同个数 for(i;i<n;i++) { cnt[i]=1
2015-03-15 21:28:36
607
原创 把一个字符串用指定的字符作为分隔符分割成若干个子串输出
#include <stdio.h> #include <string.h>void substr(char a[],char separate) { char buf[strlen(a)]; int i=0; int j=0; int k=0; while(a[i]!='\0') { if((buf[j]=a[i])==separat
2015-03-12 20:58:17
1471
转载 C++宏定义详解
一、#define的基本用法#define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。 1 #define命令剖析1.1 #define的概念#
2015-03-11 21:27:26
1061
原创 c语言日期转换为星期
#include <stdio.h> typedef enum bool{true =1,false=0}bool; /*计算1901年之后的日期转换为星期几*/ bool yun(int year) { return (year%4==0&&year%100!=0||year%400==0); } int datetoweek(int year,int month,int day) {
2015-03-11 21:24:37
4353
原创 判断字符是否是实数
#include <stdio.h>typedef enum bool{false ,true}bool; bool isreal(char a[]) { int i=0; int n=0; int m=0; while(a[i]!='\0') { if(a[i]!='-'&&a[i]!='.'&&a[i]>'9'||a[i]<'0')
2015-03-11 21:06:00
1669
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅