linux程序设计
tupelo-shen
一只单纯的程序喵
展开
-
UNIX网络变成-套接字联网之TCP客户/服务器程序学习
最近开始学习UNIX网络编程,参考书是大师W.Richard Stevens的著作《UNIX网络编程-卷1:套接字联网API》。首先,阅读本书必须有一定的UNIX或者LINUX下C编程的基础知识。首先,看一个linux下的C/S程序,来了解以下UNIX环境下套接字编程到底是怎么一回事。/================================================原创 2015-01-08 15:15:23 · 714 阅读 · 0 评论 -
linux下so动态库一些不为人知的秘密(上)
linux 下有动态库和静态库,动态库以.so为扩展名,静态库以.a为扩展名。二者都使用广泛。本文主要讲动态库方面知识。基本上每一个linux 程序都至少会有一个动态库,查看某个程序使用了那些动态库,使用ldd命令查看 ,例如,ldd /bin/ls linux-vdso.so.1 => (0x00007ffd32f28000) libselinux.so.1 => /lib/x86_转载 2016-08-05 11:56:32 · 778 阅读 · 0 评论 -
linux c timer
我们为什么要使用timer?使用timer的目的无非是为了周期性的执行某一任务,或者是到了一个指定时间去执行某一个任务。要达到这一目的,一般有两个常见的比较有效的方法:(1)使用linux内部的3个定时器,(2)使用sleep, usleep函数让进程睡眠一段时间,其实,还有一个方法,那就是用gettimeofday, difftime等自己来计算时间间隔,然后时间到了就执行某一任转载 2016-07-29 15:26:18 · 2145 阅读 · 0 评论 -
采用dlopen、dlsym和dlclose加载动态库
1、前言 为了使程序方便扩展,具备通用性,可以采用插件形式。采用异步事件驱动模型,保证主程序逻辑不变,将各个业务已动态链接库的形式加载进来,这就是所谓的插件。linux提供了加载和处理动态链接库的系统调用,非常方便。本文先从使用上进行总结,涉及到基本的操作方法,关于动态链接库的本质及如何加载进来,需要进一步学习,后续继续补充。如何将程序设计为插件形式,挖掘出主题和业务之间的关系,需要进一转载 2016-07-22 17:56:14 · 487 阅读 · 0 评论 -
进程和线程学习理解
1 fork基本概念一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同原创 2016-04-28 10:31:59 · 2913 阅读 · 0 评论 -
网站压测工具Webbench源码分析
网站压测工具Webbench源码分析一,介绍一下webbench的下载安装过程,http://home.tiscali.cz/~cz210552/webbench.html这是网站的截图,把webbench-1.5.tar.gz这个文件下载下来之后解压缩,进入webbench-1.5文件夹,然后执行make,就可以看到文件夹下多了一个可执行程序webbench,原创 2015-07-31 09:48:35 · 1279 阅读 · 0 评论 -
源码阅读——十个C开源项目
摘要 开源世界有许多优秀的开源项目,我选取其中十个最优秀的、最轻量级的C语言的项目,希望可以为C语言开发人员提供参考。 C source目录[-] 代码阅读——十个C开源项目 1. Webbench 2. CMockery 3. Libev 4. Memcached 5. Lua 6. SQLite 7. Redis 8. Nginx 9. UNIXv6 10. NETBSD转载 2015-07-28 00:03:34 · 753 阅读 · 0 评论 -
socket can 编程
文档原名称:can.txt,位于 linux-3.2.0-m3352/Documentation/networking/can.txt。CAN 控制器局域网络协议族之 Readme 文件(aka Socket CAN)。另外在该文档的后边附加一个CAN收发测试程序,用于与下位机通信。原创 2015-02-15 20:49:43 · 12164 阅读 · 0 评论 -
Linux下的dialog工具 使用方法
shell本身就是一种功能强大的程序设计语言。它能够轻松调用其他程序并对它们的输出进行处理,这种能力使得shell成为完成文本和文件处理任务的一个理想工具。dialog工具如果你知道你的脚本程序只需要运行在Linux控制台上,则可以使用dialog工具命令,它以一种非常整洁的方式润色你的脚本程序。这个命令使用文本模式的图形和色彩,但它的确提供了友好的面向图形的解决方案。一些Linu转载 2014-12-20 22:23:40 · 10925 阅读 · 3 评论 -
C++-程序设计实现
当我们有一个新的idea或者拿到用户需求的时候,常常会对怎样将其转化为代码而感到困惑。到底程序要解决哪些问题?模拟那些场景?在本文中,我们一起探讨一些这个问题。俗话说,未雨绸缪,而事半功倍。是的,在编程之前,我们必须充分地设计我们的程序。因为,程序的架构往往直接决定了程序的质量。再说,好的前期规划,也可以节省你的时间,还可以减少你的挫折感(ps:每个程序员都有过编程到一半返工的事情吧?)。那么,我们原创 2017-04-01 16:24:47 · 571 阅读 · 0 评论