unix C
文章平均质量分 79
leeboy_wang
致力于大数据和信息安全发展
展开
-
Linux c 中alarm,signal,pause的使用说明
直接看代码#include #include #include void myfunc(){ printf("myfunc\n"); exit(0); //如果没有此句,程序在主函数中继续运行,输出never run}int main(){ unsigned int i; int time; alarm(9); sleep(2原创 2012-03-30 16:40:23 · 5844 阅读 · 1 评论 -
编写简单的makefile
在介绍makefile前,先介绍linux上如何调用类的方法。下面简单的介绍如何在main.c 中调用print.c中的函数和类。见实例:print.h#include int printHello();class People{ public: People(); ~People(); void PeopleHello();};原创 2012-03-24 20:25:59 · 2131 阅读 · 1 评论 -
fnmatch实例详解(与readdir、opendir实现模糊查询)
fnmatch:int fnmatch(const char *pattern, const char *string, int flags);man中是这么写道:The fnmatch() function checks whether the string argument matches the pattern argument, which is a shell wildcard原创 2012-09-13 14:53:51 · 13511 阅读 · 0 评论 -
对string进行memset操作
工作中对一个结构体进行memest,打印没有问题,当调用方法,产生值传递的时候报错,后来发现结构体中都是string类型,这才发现:string类是C++中专门处理字符串的类,它的实际上是basic_string的一个typedef。它有四个跌代器:typedef std::reverse_iterator reverse_iterator;typedef std::reverse_i转载 2013-03-08 11:46:00 · 5766 阅读 · 1 评论 -
变量定义一个奇怪的问题,求解释
#include "stdio.h"#include int add(){ int a ; int b = 2; a = a+b; printf("%d\n", a); return 0;}void cat(){ char st1[] = "bbbbbbb"; char tt[50]; strcat(tt, st1); printf("%s\n"原创 2013-03-08 13:22:29 · 1238 阅读 · 2 评论 -
gsoap同步问题,求解!!!!!!!!!!!!
工作中使用gsoap,我们服务端调用客户端接口时,同时有客户端调用服务端的接口,这个时候出现了问题,服务端的通信被终端了,这种情况如何处理呢?坐等高手!!! ServerSoap我定义的全局的下边是我的方法int ns__transFileListRecv(struct soap* request_soap, xsd__scanvector r_input, int &r_o原创 2013-03-13 09:51:13 · 1733 阅读 · 1 评论 -
acc使用注意
aCC是HP公司的商业C++编译器,以下是一些编译选项的用法。 1) -AA 全面支持C++(HPUX PA上编译C++时的必须选项)2) -V 查看版本3) +DD64 编译64位程序 +DD32编译32位程序,在64位系统上默认编译的是32位程序。4) +DAportable 跨版本编译5) -lpthread 支持转载 2013-12-03 11:12:04 · 1277 阅读 · 1 评论 -
共享内存及信号量控制实例
共享内存写入程序,通过信号量控制公共区域。为公共区域枷锁。#include #include #include #include #include #include #include #include typedef struct{ char name[8]; int age;} people;const int num = 3;//创建共享内存int cre原创 2014-03-04 12:55:18 · 2997 阅读 · 0 评论 -
继承和组合的分析
// test.cpp : 定义控制台应用程序的入口点。/*总结:继承就是隐含的将父类在派生类中再次定义,很像组合。添加保护、私有权限**无外乎为父类定义的“成员”添加了一个保护壳,相当于该父类成了私有或保护“成员”,**但组合无法修改类内部结构,但继承可以重写父类的方法,严格上说继承只是接口的复用*/#include "stdafx.h"#include using namespa原创 2014-03-04 15:55:19 · 1206 阅读 · 1 评论 -
防止僵尸进程(defunct)
僵尸进程原创 2014-03-13 17:27:26 · 2355 阅读 · 0 评论 -
c程序执行命令 execvp
/****************************************************************** ** 功能: linux c 执行命令程序** *******************************************************************/#include#include #define BUF_S原创 2014-03-13 18:07:02 · 3175 阅读 · 0 评论 -
oci库使用--引发的编译链接问题
ar静态库 编译 链接原创 2014-05-07 10:20:54 · 1959 阅读 · 0 评论 -
全网枢纽大数据传输项目经验积累
1、acc 编译多线程加-mt2、通信部分程序,注意机器系统位数,32位和64位通信要统一接口,可能会出现溢出,如long类型两种系统定义的长度不同。原创 2013-12-03 11:16:52 · 1701 阅读 · 0 评论 -
一个多线程问题引发的血案-(代码段执行完毕,子进程未执行完毕导致段错误)
多线程容易忽略的问题导致的段错误原创 2014-08-21 17:12:30 · 8050 阅读 · 0 评论 -
g++编译set的时候需要注意
1、需要重载2、linux环境下使用iterator访问对象方法时,方法需要const限定原创 2015-04-08 17:53:21 · 856 阅读 · 0 评论 -
mmap方法将文件映射到内存
注意:sys/mman.h头文件在windows下没有必须在linux下才能通过。方法介绍:mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。void *mmap(void *start, size_t length, int prot, int flags,int fd, off_t offset);原创 2012-08-22 19:40:02 · 6032 阅读 · 0 评论 -
setbuf控制流的提交
转自:http://hi.baidu.com/gubuntu/blog/item/61a25c13fc4292075baf53c5.html 程序非转载程序输出有两种方式:一种是即时处理方式,另一种是先暂存起来,然后再大块写入的方式,前者往往造成较高的系统负担。因此,c语言实现通常都允许程序员进行实际的写操作之前控制产生的输出数据量。这种控制能力一般是通过库函数setbuf实现的。如果b转载 2012-08-22 17:43:03 · 929 阅读 · 0 评论 -
linux c 中简单的管道实现
管道一般用与父子进程之间通信,下面是一个简单的父子进程通信事例: #include #include int main(){ int fd[2]; //管道入口fd[0]为读,fd[1]为写入口 char r_buf[100]; char w_buf[20]= "hello word!"; pid_t pid; if(pipe(f原创 2012-03-30 16:50:48 · 3916 阅读 · 0 评论 -
linux中select的事例
关于Linux中select的一个简单事例:#include #include #include #include #include #include int main(){ int keyboard; int ret; fd_set readfds; char key; struct timeval timeout; char *p原创 2012-04-05 19:38:34 · 6571 阅读 · 0 评论 -
linux中的ftok函数
系统建立IPC通讯(如消息队列、共享内存时)必须指定一个ID值。通常情况下,该id值通过ftok函数得到。ftok原型如下:key_t ftok( char * fname, int id )fname就时你指定的文件名(该文件必须是存在而且可以访问的),id是子序号,虽然为int,但是只有8个比特被使用(0-255)。当成功执行的时候,一个key_t值将会被返回,否则 -转载 2012-04-05 21:02:09 · 1248 阅读 · 0 评论 -
shmdt() 与 shmctl() 的区别
http://blog.sina.com.cn/s/blog_818dc7aa0100v3n3.html操作共享内存,我们用到了下面的函数==============================================#include #include #include int shmid = shmget( key_t shmkey , int shmsize转载 2012-04-05 21:16:24 · 2330 阅读 · 0 评论 -
linux下oralce插件,使用上下左右键
在Linux下面无法使用上下键,退格键都不能用。今天发现了这个rlwrap这个好东西,特写此文记录。由于时间关系,可以从这里下载安装包。下载后,将.zip扩展名去掉,传到Linux服务器上面。 先装上一些安装rpm一:安装readline http://img1.51cto.com/attachment/200912/1081650_1261836999.zip# rp原创 2012-04-10 11:30:03 · 1350 阅读 · 0 评论 -
linux setsockopt
转自:http://blog.csdn.net/maopig/article/details/73066391.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,si转载 2012-04-12 22:08:48 · 715 阅读 · 0 评论 -
exit和_exit,fock和vfock
此文转自网友,本人只做了将两篇文章合并。各个文章原始作者不详。拒绝盗版。_exit终止调用进程,但不关闭文件,不清除输出缓存,也不调用出口函数。exit函数将终止调用进程。在退出程序之前,所有文件关闭,缓冲输出内容将刷新定义,并调用所有已刷新的“出口函数”(由atexit定义)。‘exit()’与‘_exit()’有不少区别在使用‘fork()’,特别是‘vfork()’时变得很突出。转载 2012-07-12 16:23:27 · 1386 阅读 · 1 评论 -
linux C获取系统时间
实现实例如下:#include #include int main(){ time_t now; //time_t实际为长整形 struct tm *w; //tm结构体结构化存放时间 time(&now); w=localtime(&now); //获取当前系统时间 printf("%04d/%02d/原创 2012-07-17 09:35:52 · 3625 阅读 · 0 评论 -
C语言中双下划线的用法__FILE__
多用于告警提示:__FILE__ 包含当前程序文件名的字符串__LINE__ 表示当前行号的整数__DATE__ 包含当前日期的字符串__STDC__ 如果编译器遵循ANSI C标准,它就是个非零值__TIME__ 包含当前时间的字符串代码示例如下:#include int main(){ printf("file name is %s\n", __F原创 2012-07-19 10:46:31 · 12089 阅读 · 0 评论 -
扫描文件夹将获取文件oci数据入库
1、句柄层次:Environment Handle 环境句柄Statement Handle 表达句柄Error Handle 错误句柄Service Context Handle 服务上下文句柄Define Handle原创 2012-07-20 15:43:34 · 1852 阅读 · 0 评论 -
文件处理常用方法及link和unlink讲解
/* * 函数介绍:access函数,当对文件使用时,判断是否存在指定的文件,以及是否能够按指定的模式进行访问。 * 头文件:unistd.h * 参数mode可为以下的其中之一: * 00 只存在 * 02 写权限 * 04 读权限 * 06 读和写权限 * 返回值:如果文件拥有给定的模式则返回0,如果发生错误返回-1。 * 函数介绍:u原创 2012-08-13 10:19:50 · 1757 阅读 · 0 评论 -
ftw函数文件获取
函数说明:int ftw(const char *dirpath,int (*fn) (const char *fpath, const struct stat *sb, int typeflag), int depth);ftw() 会从参数dirpath指定的目录开始,往下一层层地递归式遍历子目录。ftw()会传三个参数给fn(), 第一个参数*fpath指向当时所在的目录路径,第原创 2012-07-31 14:41:10 · 1919 阅读 · 0 评论 -
rename函数及remove函数
rename()函数将文件或文件夹(linux中文件和文件夹不能重名)的名字修改并移动。如下边的例子中,将当前文件下的名字为1的文件或者文件夹移动为前一级文件leeTest下的2文件或文件夹。前提是leeTest文件下不能有2这个文件或文件夹,否则程序运行失败。 #include int main(){ printf("rename\n"); int flag = re原创 2012-08-01 10:11:25 · 1378 阅读 · 0 评论 -
assert()将程序终止
在程序中,当某一个条件不满足需要将程序终止时,可以使用assert宏来实现。表达式为假即终止程序。详见程序:/* * 函数介绍:assert不成立终止程序,assert是宏,而不是函数 * 头文件:assert.h */#include #include #include using namespace std;int main(){原创 2012-08-22 09:41:58 · 3365 阅读 · 0 评论 -
gdb发现Column count doesn't match value count at row 1问题
数据库字段绑定个数的问题个数一定要对应原创 2015-04-16 11:56:29 · 848 阅读 · 0 评论