随笔 - 68  文章 - 0 评论 - 41 阅读 - 56万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  Linux开发

[转]make: 警告:检测到时钟错误。您的创建可能是不完整的。
摘要:转自http://blog.csdn.net/maopig/article/details/6599660我在make的时候也出现了同样的问题,不过不是什么大问题,这个不影响编译结果分析原因可能是:服务器上的文件最后修改时间比当前时钟要晚解决办法:用touch 命令把源程序的时间戳改一下find . -type f -exec touch {} \;或者touch *一下再重新编译实测如果第二种方法不好使,可以再试试第一种方法,这两种方法不是一回事。 阅读全文
posted @ 2013-12-05 10:53 曾经的你| 阅读(7069) 评论(0) 推荐(0) 编辑
Register A Callback To Handle SQLITE_BUSY Errors(译)
摘要:http://www.sqlite.org/c3ref/busy_handler.html留着自己看的。Register A Callback To Handle SQLITE_BUSY Errors注册一个回调函数处理SQLITE_BUSY错误int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*);This routine sets a callback function that might be invoked whenever an attempt is made to open a database table tha 阅读全文
posted @ 2013-06-24 22:43 曾经的你| 阅读(972) 评论(0) 推荐(0) 编辑
Linux命令英文全称
摘要:转自:http://blog.csdn.net/alex_sym/article/details/7409566su:Swith user 切换用户,切换到root用户cat: Concatenate 串联uname: Unix name 系统名称df: Disk free 空余硬盘du: Disk usage 硬盘使用率chown: Change owner 改变所有者chgrp: Change group 改变用户组ps:Process Status 进程状态tar:Tape archive 解压文件chmod: Change mode 改变模式umount: Unmount 卸载ldd: 阅读全文
posted @ 2013-06-04 21:07 曾经的你| 阅读(1236) 评论(0) 推荐(0) 编辑
关于异步取消线程以及异步销毁锁的探讨
摘要:最近在研究如何实现一个线程池。具体线程池的实现不是我想说的重点,而是关于线程的一些操作问题。先说一下我的每个工作线程都有一个自己对应的锁,而且锁只在线程自身使用。(这方便下面的理解)一、线程的异步取消的问题我的线程池对外提供两个函数,create_threadpool()和destroy_threadpool()用来创建和销毁线程池,创建的过程是初始化工作线程→初始化管理线程→….工作,销毁的过程是销毁管理线程→销毁工作线程→……工作。在这两个过程中遇到的第一个问题是如何取消线程。目前我搜集到的有3种方法:1.通过pthread_kill()函数发送SIGQUIT信号2.通过pthread_c 阅读全文
posted @ 2013-05-29 16:58 曾经的你| 阅读(4304) 评论(0) 推荐(0) 编辑
CppUTest的简单用法
摘要:最近学习如何进行单元测试,于是研究了一下CppUTest的用法,虽然这工具经常被推荐,但奇怪的是网上资料缺比较少,可能是因为太简单了的原因吧,先记录下来给自己看。1.下载CppUTest2.Linux常用安装三板斧./configure --prefix=目录makemake install3.使用CppUTest上有一个如何开始的说明先编写一个cpp文件 1 /*注意,这个头文件必须包含,不然编译就报错,比较坑的是官网并没说要添加这个*/ 2 #include "CppUTest/UtestMacros.h" 3 4 TEST_GROUP(FirstTestGroup) 阅读全文
posted @ 2013-05-16 08:12 曾经的你| 阅读(7492) 评论(6) 推荐(0) 编辑
C语言中隐藏结构体定义的方法
摘要:C语言编程中,常常需要返回一些句柄,而这些句柄就是一些结构体,此时我指望外部的人调用我们的函数,传入指定的句柄进行操作,这样外部人就不会破坏句柄结构体中的信息,还可以完成指定操作的目的。方法就是讲结构体的定义在.c文件中1 xxx.c2 3 struct xxxx{4 xxxx;5 xxxxx; 6 };然后在.h文件中1 xxx.h2 3 typedef struct xxxx abcd;这样外部人员可以指定声明结构体或者结构体的指针,而无法改动结构体里的数据。 阅读全文
posted @ 2013-05-15 13:15 曾经的你| 阅读(882) 评论(0) 推荐(0) 编辑
static函数的思考
摘要:关于static关键字应用到函数上的文章网上比比皆是,但我一直不太能完全理解,我一直觉得只要函数不声明在头文件中,即使不是静态,别的文件也无法采用。但最近看到网上的一个例子。1 char a = 'A'; // global variable2 void msg() 3 {4 printf("Hello\n"); 5 }1 int main(void)2 { 3 extern char a; // extern variable must be declared before use4 printf("%c ", a);5 (void)m 阅读全文
posted @ 2013-05-15 08:50 曾经的你| 阅读(221) 评论(0) 推荐(0) 编辑
Framebuffer的简单应用
摘要:网上可以直接搜到应用Framebuffer画图的示例程序,但是他们大多是一样,估计是早期的一份程序散播的。然而如果需要写入字符则大多没有示例。最近我就研究一下如何直接操作Framebuffer绘制字符串。简单操作Framebuffer分为几个步骤1.打开framebuffer设备,一般是/dev/fb02.使用ioctl读取fb_var_screeninfo和fb_fix_screeninfon两个结构体信息。fb_var_screeninfo和fb_fix_screeninfon可以看我摘录的嵌入式开发板Framebuffer的原理3.使用mmap函数映射内存4.直接对内存进行操作,内存中每 阅读全文
posted @ 2013-05-13 12:47 曾经的你| 阅读(3386) 评论(2) 推荐(0) 编辑

点击右上角即可分享
微信分享提示