
linux编程汇总
linux国富
这个作者很懒,什么都没留下…
展开
-
linux/tcp.h编译g++报错
最近在写程序中,偶尔发现加入linux/tcp.h的话,会导致g++编译报错,实在费解。之后,在网上搜到一个解决补丁。diff --git a/include/linux/tcp.h b/include/linux/tcp.hindex 4c5b632..5f359db 100644--- a/include/linux/tcp.h+++ b/include/linux/tcp.h转载 2013-07-16 15:25:01 · 2124 阅读 · 0 评论 -
linux 进程间信号量管理程序之sem_timedwait使用
在开发过程中,有三个独立运行的程序模块,三个模块都对sqlite数据库进行读写操作。sqlite在linux共享性较差,所以需要加入互斥信号量解决三个模块访问数据库该问题。另外,在加入信号量后,信号量sem初始化为1,如果三个模块任意一个在读或写数据库时ctrl+c掉(调试过程需要),有时会造成信号量sem保持sem_wait后的值,也就是为0;这就造成了死锁。原创 2014-06-18 14:18:43 · 17400 阅读 · 0 评论 -
sqlite3之sqlite3_busy_handler使用详解
程序运行过程中,如果有其他进程或者线程在读写数据库,那么sqlite3_busy_handler会不断调用回调函数,直到其他进程或者线程释放锁。获得锁之后,不会再调用回调函数,从而向下执行,进行数据库select操作。该函数是在获取不到锁的时候,以执行回调函数的次数来进行延迟,等待其他进程或者线程操作数据库结束,从而获得锁操作数据库。原创 2014-07-02 10:21:20 · 13507 阅读 · 0 评论 -
linux编程C/C++如何自动打开一个终端并且运行新程序
做linux开发过程中,需要在某个程序运行到特定过程中打开一个新的终端界面,运行一个新的程序,具体的实现过程非常简单。原创 2014-05-12 09:28:14 · 18159 阅读 · 1 评论 -
linux根据进程名查询是否正在运行
查询当前运行进程中是否有指定进程有多种方式,下面介绍一种通过进程名获取进程号,以此来确认该进程是否在运行。如下实例,查询当前运行进程中是否有test进程在运行。 char buf[200]={0}; system("ps -A | awk '/test/{print $1}'>result"); FILE *fd; fd=popen原创 2014-05-12 09:52:03 · 6223 阅读 · 0 评论 -
vim配置
Vim很好很完美是公认的了,但是对新手来说,上手毕竟不是很容易。Windows下程序员很多都很喜欢Source Insight这个工具来看代码,各种语法高亮看着很舒服。vim作为为程序员打造的编辑器,没有道理不可以通过配置让程序员舒服地编辑代码,但是新手通常很难将其配置成顺手顺眼的环境。下面的方法可以通过极其简单的方式把vim配置得跟Source Insight一样炫首先需要确定使用的转载 2014-05-12 09:40:46 · 662 阅读 · 0 评论 -
服务器JAVA性能测试——SPECjbb2005
首先是关于SPECjbb2005的一些介绍,google一下有很多,简单概述为: SPECjbb2005(Java Business Benchmark)基准测试模拟一个三层架构环境来进行JAVA 应用服务器测试, 目的是衡量应用服务器端JAVA 应用之性能。正规SPECjbb2005 测试结果发布必须提供bops 值, 即每秒钟完成多少笔JAVA 业务操作(Business Opera原创 2013-07-03 13:38:37 · 17412 阅读 · 0 评论 -
动态库(.so)函数调用
最近刚刚换工作,第一次接触到要从.so动态库文件里调用函数。目前只得到.so库文件和封装的各类函数接口。在网上搜了一些,然后根据自己的代码做了整理。首先,理解动态库,Linux中的.so文件类似于Windows中的DLL,是动态链接库。当多个程序使用同一个动态链接库时,既能节约可执行文件的大小,也能减少运行时的内存占用。具体的如何编译生成.so可以参照linux下gcc命令。具体在调用原创 2014-03-27 11:01:18 · 7818 阅读 · 0 评论 -
C语言---整型字符串转换
C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转 换为字符串的一个例子: # include # include void main (void) { int num = 100; char str[25]; itoa(num, str转载 2014-04-15 09:37:03 · 1041 阅读 · 0 评论 -
linux iptables启动问题
近期在公司需要在板子上启动iptables,具体什么板子就不说了,涉及到公司内部产品。不过google出来的修改方式都大同小异,再次做下整理,便于以后使用。 首先是奇葩的报错信息: can't initialize iptables table `filter': iptables who? (do you need to insmod?) Perhaps iptab原创 2013-08-26 15:54:56 · 6082 阅读 · 0 评论 -
函数指针&回调函数&linux中的signal函数
1. int (*func)();函数指针,指向的函数为空参数,返回整型;2.回调函数是一个程序员不能显式调用的函数;通过将回调函数的地址传给被调用者从而实现调用。回调函数是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。 void f();// 函数原型上转载 2014-04-15 09:33:58 · 1022 阅读 · 0 评论 -
linux下编译执行.java
对于第一次在linux非图形界面环境下,编写和执行java代码,除了安装gtk的需要外,今天做测试的时候犯了一个很低级的错误而导致运行有问题。 对于配置java的环境变量在这就不写了,网络上资源很多。具体执行的时候如图 javac编译HelloWorld后生成Helloworld.class,而执行的时候必须执行为 java HelloWorld,如果写为ja原创 2013-02-25 15:30:02 · 4835 阅读 · 0 评论 -
Linux获取本机IP
在linux环境下,gethostname() gethostbyname()在Linux不好用转载 2014-06-19 11:38:33 · 1046 阅读 · 0 评论