![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux c编程
guoqianqian5812
希望和大家多交流。。
展开
-
一个简单例子了解使用互斥量线程同步
同步就是协同步调,按预定的先后次序进行运行。如:你说完,我再说。 “同”字从字面上容易理解为一起动作。 其实不是,“同”字应是指协同、协助、互相配合。 如进程、线程同步,可理解为进程或线程A和B一块配合,A执行到一定程度时要依靠B的某个结果,于是停下来,示意B运行;B依言执行,再将结果给A;A再继续操作。 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回,同时其它线程也不能调用这个方法。原创 2014-11-16 15:34:23 · 1772 阅读 · 1 评论 -
Unix套接字地址结构
#include /**IPV4套接字地址结构**/struct in_addr{ in_addr s_addr;//32位IPV4地址,这是无符号整数,网络字节序};/*POSIX只关注sin_family,sin_port,sin_addr,所有网络套接字地质结构都至少16字节*/struct sockaddr_in{ uint8_t sin_len;//无符号八位整转载 2015-08-12 08:54:12 · 494 阅读 · 0 评论 -
Linux下tcp 和 udp 套接字收发缓冲区的大小决定规则
1. tcp 收发缓冲区默认值[root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_rmem 4096 87380 416153687380 :tcp接收缓冲区的默认值[root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_wmem4096转载 2015-08-11 11:27:25 · 2156 阅读 · 0 评论 -
mysql上将文本上数据批量导入数据库c语言实现(C API)
mysql上将文本上数据批量导入数据库c语言实现(C API)其实原理很简单,想必大家应该都看了我写的那篇(一个代码学会c语言操作数据库)linux上通过c语言操作数据库实现基本的学生信息管理系统(增、删、查、改‘显示) http://blog.csdn.net/guoqianqian5812/article/details/41381645博文,那么大家肯定知道怎么完成插入一个学生信息的,只要大家知道那么下面批量将输入导入数据库就很好实现了,这个方法就是在通过fgets函数读取文件里的内容,每读原创 2014-11-28 19:25:20 · 3053 阅读 · 0 评论 -
vim编译器设置环境和换行,自动缩进等
vim编译器提供可以设置其环境属性的命令。在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件:vimrc。第一步进入vim的配置文件:cd /etc/ vim的配置文件在etc目录下第二步打开vim的配置文件vimrc:vim vimrc第三步修改配置文件:方法很简单在这下面添加相应的命令就行了 if &term=="xterm"原创 2014-11-23 10:48:02 · 14048 阅读 · 2 评论 -
共享内存的使用-shmget-shmat-shmdt
1.什么是共享内存共享内存从字面意义解释就是多个进程可以把一段内存映射到自己的进程空间,以此来实现数据的共享以及传输,这也是所有进程间通信方式中最快的一种。共享内存是存在于内核级别的一种资源,在shell中可以使用ipcs命令来查看当前系统IPC中的状态,在文件系统中/proc目录下有对其描述的相应文件。在系统内核为一个进程分配内存地址时,通过分页机制可以让一个进程的物理地址不连续,同时也原创 2014-11-09 13:40:19 · 1439 阅读 · 1 评论 -
进程退出线程即结束的代码验证
如何让线程一直输出ok呢,即进程(主线程)不退出代码如下:#include <stdio.h>#include <stdlib.h>#include <pthread.h>void *show(){while(1){printf("ok\n");}}int main(){pthread_t tid;int err;err=pthread_create(&tid,NULL,show,NULL);if(err!=0){printf("fail to cre原创 2014-11-16 13:44:23 · 1050 阅读 · 0 评论 -
关于子线程死循环为什么不起作用的原因or线程的阻塞能影响进程
在测试子线程的调度问题时,发现了一个自己说不清楚的问题,就是在进程中写了一个线程,且线程函数还是一个死循环程序,在此循环中输出一句话,本想会出现一直输出一句话,结果出乎意料,只是输出几句程序结束了,很是不解。然后就在去上网搜索,结果没有找到答案,然后就自己猜想原因去验证。通过验证发现是主线程返回进程就结束,这让自己恍然大悟,解决方法就是让主线程一直不退出。。代码如下: #include原创 2014-11-14 17:32:00 · 4416 阅读 · 0 评论 -
正确得到线程退出信息的方法详解-变量存储退出信息结构、使用动态存储的方式退出信息结构、使用全局变量方式推相互信息结构、使用main函数中的局部变量存储退出信息结构
正确得到线程退出信息的方法详解-变量存储退出信息结构、使用动态存储的方式退出信息结构、使用全局变量方式推相互信息结构、使用main函数中的局部变量存储退出信息结构原创 2014-11-09 21:02:30 · 784 阅读 · 0 评论 -
关于进程的所有资源被个线程共享的分析
关于进程的所有资源被个线程共享的分析原创 2014-11-09 16:14:16 · 963 阅读 · 1 评论 -
sqlite数据库加密-SQLCipher编译安装及使用
一、 SQLCipher介绍SQLCipher是一个开源的软件,它提供的SQLite数据库的透明加密,在数据页被写入之前加密存储和读取解密,基于256-bit AES加密。 目前支持的平台有C/C++, Obj-C, QT, Win32/.NET, Java, Python, Ruby, Linux, Mac OS X, iPhone/iOS, Android, Xamarin.iOS, 和原创 2017-03-30 23:36:53 · 2997 阅读 · 1 评论