
备忘
文章平均质量分 81
robafan
学生一枚
展开
-
printf 的宏定义版本
前言:我们在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除,而一旦需要再次调试的时候,这些语句又不得不一条条的加上,这给我们带来了很大的不便,浪费了我们很多的时间,也造成了调试的效率低下。所以,很多人会选择使用宏定义的方式来输出调试语句。比如,定义一个宏转载 2013-08-02 13:03:27 · 456 阅读 · 0 评论 -
restrict关键字
restrict关键字的含义是:约束、限定、严格的;这个关键字是C99标准中新增加的;简单地说,restrict关键字只用于限定和约束指针;它告诉编译器,所有修改该指针所指向内存中内容的操作,全都必须基于(base on)该指针,即:不存在其它进行修改操作的途径;换句话说,所有修改该指针所指向内存中内容的操作都必须通过该指针来修改,而不能通过其它途径(其它变量或指针)来修改;这样做的好处是转载 2013-08-02 13:29:00 · 977 阅读 · 0 评论 -
Ubuntu系统下添加程序启动器
Ubuntu系统上安装的软件,有的会自动创建快捷方式,在程序中可以搜索到,而有的安装后不会在应用程序中出现,如Eclipse、Spring Tool Suite或是绿色软件等,那么怎么手动创建快捷方式(或叫程序启动器)呢?其实很简单,Ubuntu系统中每个软件图标对应/usr/share/applications目录内的一个配置文件,后缀名为.desktop。所以在该目录内创建对应软件的配置文件,转载 2013-08-02 14:25:38 · 904 阅读 · 0 评论 -
数组指针和指针数组的区别
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;转载 2013-08-06 18:09:58 · 465 阅读 · 0 评论 -
Linux网络套接字
套接字连接的过程如同(客户)打一个电话到一个大公司,接线员(服务器进程)接听电话并把它转接到你要找的部门,然后再从那里转到你要找的人(服务器套接字),然后接线员(服务器进程)再继续转接其它(客户)的电话。 套接字有本地套接字和网络套接字两种。本地套接字的名字是Linux文件系统中的文件名,一般放在/tmp或/usr/tmp目录中;网络套接字的名字是与客户连接的特定网络有关的服务标识符转载 2013-09-02 14:33:09 · 622 阅读 · 0 评论 -
开发中系统问题解决备忘
[问题]simemu完成第一次鉴权后卡死[解决]OpenBTS启动前执行消息队列清理[问题]linphone启动失败[解决]确认接口连接,模拟GSM模块对应USBtty0,被叫GSM模块对应USBtty1[问题]呼叫无声音[解决]配置声音首选项,硬件为模拟双向原创 2013-09-14 13:37:47 · 464 阅读 · 0 评论 -
装系统软件备忘
Ubuntu: 驱动: killer网卡驱动http://blog.youkuaiyun.com/robafan/article/details/9709145 软件安装: 新立得:sudo apt-get install synaptic 浏览器: Chromium SHELL: fish:sud原创 2013-08-02 03:03:53 · 769 阅读 · 0 评论