
C
清湖水
隔山跨行,道阻且难,实在难以坚持,唯在此处敲一下心得,聊以鼓励自己
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
windbg 旧版使用
下载地址: 下载 Windows 调试工具 - WinDbg - Windows drivers | Microsoft Docs安装完成,会具有各种平台的windbg工具32位app,使用32位任务管理器生成转储文件。地址:C:\Windows\SysWOW64\Taskmgr.exe工具配置:file ->symbol file path 写 srv*c:/Symbols*https://msdl.microsoft.com/download/symbols;程序符号路径文件打开 转储文件。输入命令可能原创 2022-06-09 14:34:27 · 856 阅读 · 0 评论 -
pthread_cond_signal 和 pthread_cond_wait
pthread_cond_wait(mutex, cond): value = cond->value; /* 1 */ pthread_mutex_unlock(mutex); /* 2 */ pthread_mutex_lock(cond->mutex); /* 10 */ if (value == cond->value) { /* 11 */ me->next_cond = cond->waiter; c.原创 2022-03-11 08:50:32 · 441 阅读 · 0 评论 -
libpcap的使用
int pcap_lookupnet(const char *, bpf_u_int32 *, bpf_u_int32 *, char *);接口用于对特定的设备,获取32进制的网络号和掩码;使用中,获取的ip是网络地址,不是ip地址;与我们的理解不一致,但是这不是异常。根据libpcap官方的issue上记录pcap_lookupnet() is used to determine the network number and mask associated with the n.原创 2020-10-25 13:59:32 · 542 阅读 · 1 评论 -
简单的单链表 接口
链表具有头部节点,省的总处理头节点麻烦提出apitypedef void CALLBACK onDataCbk(int Id, char* data);typedef struct linklist{ char* data; struct linklist* next;}list, * plist;extern plist create_list();extern void print_list(plist head, onDataCbk Cbk);extern b原创 2020-10-21 11:50:55 · 197 阅读 · 0 评论 -
驱动程序开发里的惑
最近一段时间,接手一个小小window外设的驱动开发项目。难度不大,对于新手来说,处处是坑。看了一些书,最终是解决了问题,也是得到一些收获这里分享给大家。如果能给一些人提供帮助,也真的很开心。这里开个题,这几天有空会一直补充。-----------------------------------------------------------------------------...原创 2020-04-07 11:34:08 · 314 阅读 · 0 评论 -
linux c语言字符串--替换串中的字符
项目需求,需要把字符中的某字符替换成其他字符,故提供一base接口以使用,实现如下:char ql_base_trim_character(char src_string[],char charc_old,char charc_des){ char * src_temp = NULL; printf("ql_base_trim_character,src_stri...原创 2019-11-19 11:24:06 · 881 阅读 · 0 评论 -
souceinsight4自动定位项目当前文件
si4已经内置自动定位当前文件功能在项目文件管理器的文件栏中,右键,选在“project folder browser option”的“option”里选择“select the folder...”可实现文件自动高亮...原创 2019-06-28 09:11:43 · 305 阅读 · 0 评论 -
c语言字符串转10进制或者16进制
直接上语句; str = “16”1,字符串转16进制 int a = strtol(str,NULL,16);2,字符串转10进制 int b = strtol(str,NULL,10); 或者: int b = atoi(str);...原创 2019-06-27 15:11:55 · 2419 阅读 · 0 评论 -
安装glib2.0
sudo apt-get install libglib2.0-dev转载 2019-05-15 08:36:57 · 4497 阅读 · 0 评论 -
安装glib2.0
sudo apt-get install libglib2.0-dev转载 2019-05-14 22:13:49 · 4232 阅读 · 0 评论 -
FILE
函数原型 char *fgets(char *buf, int bufsize, FILE *stream);从FILE文件中每次读取一行,包括‘n’每次读bufsize-1个字符,最后一个位置自动存储‘\0’,如果一行没有读取完,缓冲区以NULL结尾,下次调用FGETS()继续读取该行;遇到换行符返回buf,遇到EOF或者失败返回NULL。原创 2016-08-01 10:47:23 · 300 阅读 · 0 评论 -
回调函数
调用方式:同步调,回调,异步调;同步调:属于阻塞方式,属于主动请求数据,调用方等待被调用者结束才返回;回调:callback函数的指针传给对方,从而在调用对方的同时实现调用自身的callback(回调函数);异步调:类似于消息或者时间的通知机制;(待)原创 2016-08-21 20:43:40 · 213 阅读 · 0 评论 -
动态库、静态库初试
静态库实在程序编译阶段已经连接到目标代码中,在实际程序运行的时候不需要再次使用该静态库;动态库:编译阶段不需要连接,只要包含头文件包含所需要的函数、变量声明即可,在程序运行阶段载入动态库; 举例;三个文件---main.c;hello.c;hello.h,//main.c 1 #include2 #include3 void hello(char *str)4 {5 pr原创 2016-10-09 11:44:34 · 311 阅读 · 0 评论 -
从代码理解字符串和字符的关系
#include 2 #include 3 #include 4 #include 5 int main() 6 { 7 char a=6; 8 char *d_string=NULL; 9 int i=0; 10 char d[10]={52,69,119,'p','7','5','u'}; 11 // d_string=ma原创 2016-09-28 19:30:05 · 795 阅读 · 0 评论 -
线程
抄来的,对我来说特形象,通俗易懂线程睡眠、阻塞、挂起的区别与解释首先这些术语都是对于线程来说的。对线程的控制就好比你控制了一个雇工为你干活。你对雇工的控制是通过编程来实现的。挂起线程的意思就是你对主动对雇工说:“你睡觉去吧,用着你的时候我主动去叫你,然后接着干活”。线程睡眠的意思就是你主动对雇工说:“你睡觉去吧,某时某刻过来报到,然后接着干活”。线程阻塞的意思就是,原创 2016-09-29 15:47:31 · 222 阅读 · 0 评论 -
字符串变量数组--
定义一个字符串地址的数组,通过数组统一处理字符串,便于使用完字符串之后,统一赋值NULL;1,字符串地址的定义: char **d[3]={};2,赋值以及读取:for(i=0;i { *d[i]="this id a test!!n"; } printf("%s %s %s\n",*d[0],*d[1],*d[2]);代码如下: 1原创 2016-10-26 10:27:49 · 600 阅读 · 0 评论 -
find命令
转载地址:http://www.cnblogs.com/archoncap/p/6144369.htmlLinux中find常见用法示例·find path -option [ -print ] [ -exec -ok command ] {} \;find命令的参数;pathname: find命令所查找的目录路径。例如用.来表示当前目...转载 2019-03-06 18:00:00 · 186 阅读 · 0 评论 -
linux c 定时器的实现
转自:http://www.cnblogs.com/anjianliang/p/5594114.html1、alarmn秒后触发一次,不是循环的2、setitimer可以发出3种信号给自己,3、timerfd这个接口基于文件描述符,通过文件描述符类似epoll那种的可读事件进行超时通知,能够被用于select/epoll/poll的应用场景,linux内核2.6.25版本及以...转载 2019-05-09 09:18:43 · 525 阅读 · 0 评论 -
strtok,strtok_r
1 #include 2 #include 3 int main() 4 { 5 char *source="zhang.yong,29"; 6 char *des[3]; 7 printf("%lu\n%s\n",sizeof(source),source); 8 char *buf=source; 9原创 2016-08-04 10:18:44 · 320 阅读 · 0 评论