
linux
VVV_MN
互相交流 共同进步
展开
-
Linux 信号量和多线程例题
例题:创建三个线程,使之顺序输出abcabc…分析:如果三个线程不加以控制,会杂乱无章的输出,这时就需要用到信号量,控制他们按顺序输出abc。首先创建三个线程,分别为线程1,线程2,线程3,线程1输出a,线程2输出b,线程3输出c,同步使之按线程1,线程2,线程3的顺序执行。总结一下:信号量:sem_t sem_a; //作用类似 int a;sem_t sem_b;sem_...原创 2020-02-11 21:47:43 · 365 阅读 · 0 评论 -
linux关于管道的popen与pclose
管道:两个进程通过管道交换数据,一般一个进程输出通过管道连接到另一个进程的输入popen和pclose是最简单两程序之间传递数据的方法;popen:FILEpopen(const char command,const charopen_mode)允许一个程序将另一个程序作为新进程来启动command:要运行的程序名和相应的参数opem_mode:必须是r或wpclose:int pcl...原创 2019-07-25 17:19:26 · 358 阅读 · 0 评论 -
linux中gcc的基础知识以及k静态库的制作
写好一个main程序后想要运行它,先编译gcc -o main main.c-o main表示 给程序编译后的名字命名为main忘记写-o main 系统将自动将程序保存到a.out的文件中然后再运行 ./main . 表示在当前路径目录:/usr/bin 存放为系统正常使用提供的程序 用于程序开发的工具/usr/loca...原创 2019-07-22 20:23:53 · 379 阅读 · 0 评论 -
gdb调试
首先创建一个名为test.c的文件gcc -o test test.c -g //这里若没有-g表示relase版本gdb test // 开始调试l:显示代码(默认从头开始,这里显示的从第八行开始,于是用命令 l 3,从第三行开始显示)这里直接回车,表示执行上一个命令b 18 表示在18行加断点info ...原创 2019-09-18 23:50:11 · 226 阅读 · 0 评论