自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除