您的位置:首页 > 运维架构 > 网站架构

实现X86架构和Arm架构下Json数据的获取和解析项目总结

2015-09-23 21:02 447 查看
  pthread_mutex_t gstru_PthreadMutex; 声明互斥锁的变量的

  malloc动态分配的内存一定要记得用free释放,但注意,free释放后的字符串指针叫做野指针,不确定会指到什么位置,

  因为释放指针,只是将指针所指的内存空间交还给系统,而指针变量的内容(即刚释放的内存地址)并为改变,所以还能输出。但此时的指针一般称之为“野指针”,是很危险的。

  所以,一般要求释放指针后,紧接着将其置为空:  free(p); p=NULL;  

  即使是刚刚malloc的字符串空间,也有可能存在垃圾值,必须用memset初始化空间

  include"cjson.h" 双引号默认现在当前文件夹类加载库文件,括号则是加载系统默认的库路径

  当用到数学库里提供的函数,默认gcc不会自动链接math库,要手动提供在gcc编译时加上-lm参数

  gcc不支持gets函数,若要输入数据,使用fgets,eg:

  int main()
  {
  char name[20];
  printf("\nenter :\n");
  fgets(name,20,stdin);//stdin表示键盘输入
  fputs(name,stdout);//输出
  return 0;
  }

  当使用多线程时,编译时加入 -lm -phread参数

  函数pthread_create用来创建一个线程
  函数pthread_join用来等待一个线程的结束

  头文件和库文件的区别:

  .h为头文件,.c为源文件,其实两者都是代码,为什么要做这样的区分呢?主要有几点好处:一是头文件用于共享,只用一句#include就能包含,当然.c也可以包含;二是如果你要写库的话,可是你又不想暴露你的源代码,你可以把.c编译成.obj或是.lib发给别人用,然后把.h作为使用说明书。所以一般情况下,.h里面全部都是声明,.c里面全部都是实现,有了.h就可以编译,有了.lib或你的.obj就可以连接

  memset可以用来很方便得清空结构体的内存,也可以清空字符串指针的内容

  adb往android打入文件:

  1、adb connect (盒子IP地址)
  2、adb remount (获取最高权限)
  3、adb push (win7要拷贝的文件路径\) (android拷入的文件路径/)()例子:(/system/lib)
  4、adb shell
  5、chmod 777 /system/lib/libswitchbyte
  问题:
  adb shell报错
  error: more than one device and emulator
  C:\Users\gaojs>adb devices
  List of devices attached
  emulator-5554 device
  4dfadcb86b00cf05 device
  发现还真是多个设备,那就需要为ADB命令指定设备的序列号了。
  C:\Users\gaojs>adb -s emulator-5554 shell
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: