随笔分类 - linux c
摘要:段错误(segfault) "段错误"是程序试图操作不允许访问或试图访问的不允许内存的情况。可能导致段错误的原因主要有: 1、试图解引用空指针(你不允许访问内存地址0) 2、试图解引用不在你内存中的其他指针 3、一个C++ vtable虚表指针被破坏并指向错误的地方,这导致程序试图去执行一些不可执行
阅读全文
摘要:使用完释放记得内存free(str),防止内存泄露 char * replace (const char *str, const char *src, const char *dst){ const char* pos = str; int count = 0; while ((pos = strs
阅读全文
摘要:1、安装rpmbuild软件 sudo apt-get install rpmbuild2、配置工作路径 在制作 rpm 包之前,首先要配置工作路径,也就是制作 rpm 包所在的目录。制作 rpm 包需要有一个特定的目录结构。当前的 工作路径保存在宏 % _topdir 中,可以通过 rpmbuil
阅读全文
摘要:https://blog.csdn.net/cqkxboy168/article/details/8657487 1. 往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到 2. 想往上面两个目录以外
阅读全文
摘要:https://www.cnblogs.com/52php/p/5861372.html 下面将讲解进程间通信的另一种方式,使用共享内存。 一、什么是共享内存 顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程
阅读全文
摘要:关于libcurl的文章网络上很多, 这里不再描述. 以下是如何使用libcurl的例子. 一、常用函数 1) libcurl的全局初始化及释放 CURLcode curl_global_init(long flags) flags: CURL_GLOBAL_ALL //初始化所有的可能的调用。 C
阅读全文
摘要:const std::string strCfgName = "logger_import_db.conf" ;bool fGetCfgFileName(std::string& paraStr_CfgFileName){ paraStr_CfgFileName.clear() ; char szW
阅读全文
摘要:可以使用fwrite()将一个结构体写入文件: fwrite(&some_struct,sizeof somestruct,1,fp);对应的fread函数可以再把它读出来,此处fwrite受到一个结构的指针并把这个结构的内存映像作为字节流写入文件。sizeof操作符计算出结构占用的字节数。但是这样
阅读全文
摘要:本文代码都在Windows/VC++6.0下测试过, 在linux/g++下也没有问题。 但是请一定注意linux和Windows文件格式的区别,比如: 1. 当linux上的代码读取Windows文件格式时, 读取结果的每行都会多一个\r, 想想为什么。 2. 当Windows上的代码读取linu
阅读全文
摘要:char* textFileRead(char* filename){char* text;FILE *pf = fopen(filename,"r");fseek(pf,0,SEEK_END);long lSize = ftell(pf);// 用完后需要将内存free掉text=(char*)m
阅读全文
摘要:// 去除路径最后的反斜杠void DeleteBlackslash(char* filePath){ DWORD z_dwPathLength = 0 ; z_dwPathLength = strlen(filePath); while(filePath[z_dwPathLength-1] ==
阅读全文
摘要:http://blog.sina.com.cn/s/blog_6a1837e90100uh5d.html access():判断是否具有存取文件的权限 相关函数 stat,open,chmod,chown,setuid,setgid表头文件 #include<unistd.h>定义函数 int ac
阅读全文
摘要:Linux C -> symlink 和 readlink -> 符号链接 symlink() 函数创建符号连接。 概要 POSIX #include <unistd.h> int symlink(const char *path1, const char *path2); symlink("/ro
阅读全文
摘要:有时候,希望程序退出时能进行一些处理,比如保存状态,释放一些资源。c语言开发的linux程序,有可能正常退出(exit),有可能异常crash,而异常crash可能是响应了某信号的默认处理。这里总结一下这些情况,如何获取一个统一的退出处理的点,说白了就是写一个回调函数,让他在程序正常或异常退出时调用
阅读全文
摘要:gdb 调试coredump文件过程: 第一步:首先需要一个进程的coredump文件,怎么搞出coredump文件呢? 1、 ps -fax|grep 进程名称 找到进程的pid 2、gdb -p pid 调试进程 3、gcore coredump名称 则生成core文件 https://www.
阅读全文