自定义博客皮肤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 341

原创 使用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 805

原创 手工编译一个ndk程序

一NDK环境配置NDK目录结构添加环境变量编译链接运行源文件和编译脚本hellocmakefileApplicationmk和Androidmk1 STL支持2 异常支持3 C RTTI支持Applicationmk NDK所有模块都支持Androidmk 设置当前模块编译器介绍一、NDK环境配置1.NDK目录结构 目录名 描述 build 存放和编译相

2017-07-23 22:41:22 508

原创 欢迎使用CSDN-markdown编辑器

配置好环境变量创建一个Android项目使用aapt编译资源生成Rjava使用javac编译java源码生成class文件使用dx命令生成dex文件使用aapt命令生成资源包文件包括resassetsandroidmanifestxml等生成未签名的apk利用JAVASDK提供的keytools工具生成证书文件通过jarsigner命令用证书文件对未签名的APK文件进行签名安装启动

2017-03-20 00:19:00 190

原创 学习笔记(四)

1.溢出针对有符号数。改变了符号;超过了表达范围。2.进位针对无符号数。除了进制位其他值都可用。3.对于有符号数最高位>=8为负数。4.  cl  /c  /W4(最高级别)  /WX(把警告当错误)5.C语言向零取整。  右移只能是正数区间,结果向下取整。6.signed 默认内型。unsigned只针对整型。7. 8%3 = 28%-3 = 2-8%3 =-2

2016-03-05 18:00:39 267

原创 学习笔记(一)

楼主最近在某培训机构学习,为了养成一个每天整理笔记的好习惯,所以决定在论坛记录下首先楼主只是小白,所以请轻喷。然后笔记是根据课堂老师讲的内容整理然后自己理解搜索而得,错误可能比较多,希望各位高手指出当然此笔记也可能会给一些和我一样的新手一些启发,最后我会把老师出的一些题目和PPT也给大家大家有什么问题也可以提出来,能解答的尽量帮忙解答,学习此笔记最好懂一点c语法1. 为

2016-03-05 17:53:52 398

原创 学习笔记(二三)

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 318

转载 c++运算符重载总结

c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁、高效。在c++中不止函数可以重载,运算符也可以重载。由于一般数据类型间的运算符没有重载的必要,所以运算符重载主要是面向对象之间的。1.一般运算符重载在进行对象之间的运算时,程序会调用与运算符相对应的函数进行处理,所以运算符重载有两种方式:成员函数和友元函数。成员函数的形式比较简单,就是

2015-04-06 21:47:15 362

转载 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 322

原创 根据传入的排序规则对日期进行排序

#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 717

原创 返回一个字符串中重复出现的最长字串的长度及其开始字符

#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 520

原创 把一个字符串用指定的字符作为分隔符分割成若干个子串输出

#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 1288

转载 C++宏定义详解

一、#define的基本用法#define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。1 #define命令剖析1.1 #define的概念#

2015-03-11 21:27:26 889

原创 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 4145

原创 判断字符是否是实数

#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 1518

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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