多进程 写文件 导致文件清空

一个程序更改配置文件中的字段,脚本中也使用sed修改该配置文件。发现有时候配置文件内容被清空,查看此篇文档后确实发现程序内打开文件时使用了w。 =============== 转载  一直以为多进程读写文件是安全的,只有fflush和fclose才会真正修改文件内容,...

2016-10-14 15:56:49

阅读数:253

评论数:0

free后指针为NULL?

别看 free 和delete 的名字恶狠狠的(尤其是delete),它们只是把指针所指的内存给释放掉,但并没有把指针本身干掉。     用调试器跟踪示例程序,发现指针p 被free 以后其地址仍然不变(非NULL),只是该地址对应的内存是垃圾,p 成了“野指针”。如果此时不把p 设置为NULL...

2016-10-11 15:56:54

阅读数:331

评论数:0

linux SIGABRT信号

自己写的程序启动时偶尔会被SIGABRT信号杀死。故查看下SIGABRT的用法。 SIGABRT是中止一个程序,它可以被捕捉,但不能被阻塞。处理函数返回后,所有打开的文件描述符将会被关闭,流也会被flush。程序会结束,有可能的话还会core dump。 当程序调用abort(3)时,该进程...

2016-10-11 15:28:38

阅读数:463

评论数:0

动态库*.so制作-linux

动态库*.so制作-linux   linux动态库.so基础知识制作   在linux下制作动态库*.so。   1、linux下动态库的制作 //so_test.h #include "stdio.h" void test_a(); void test_...

2016-06-15 15:00:49

阅读数:194

评论数:0

linux flock

转载请说明出处:http://blog.csdn.net/cywosp/article/details/30083015 1. 场景概述     在多线程开发中,互斥锁可以用于对临界资源的保护,防止数据的不一致,这是最为普遍的使用方法。那在多进程中如何处理文件之间的同步呢?我们看看下面的图: ...

2016-06-07 15:46:02

阅读数:1464

评论数:0

poll()

struct pollfd 2010年04月15日 星期四 下午 03:59 int poll (struct pollfd *fds, size_t nfds , int timeout); struct pollfd { int fd;        /* 文件描述符 */...

2016-05-11 10:59:07

阅读数:169

评论数:0

netlink socket

Netlink 是一种特殊的 socket,它是 Linux 所特有的,类似于 BSD 中的AF_ROUTE 但又远比它的功能强大,目前在最新的 Linux 内核(2.6.14)中使用netlink 进行应用与内核通信的应用很多,包括:路由 daemon(NETLINK_ROUTE),1-wire...

2016-05-09 10:57:54

阅读数:153

评论数:0

select与阻塞和非阻塞

这2天一直和同事在讨论socket的非阻塞用在什么场合,并且认为在select时,使用的socket要设置成阻塞的,今天在网上搜了一下,才发现,原来,我们搞错了,一个套接字阻塞或者不阻塞,select就在那里,它可以针对这2种套接字使用,对任何一种套接字的轮询检测,超时时间都是有效的,区别就在于:...

2016-03-25 10:57:28

阅读数:320

评论数:0

Strlcpy和strlcat

英文原文: http://www.gratisoft.us/todd/papers/strlcpy.html 英文作者: Todd C. Miller, Theo de Raadt 译者:林海枫 译本地址:http://blog.csdn.net/linyt/archi...

2016-03-25 09:38:33

阅读数:222

评论数:0

小printf大作用(用日志打印的方式调试程序)

转载自蜗窝科技,www.wowotech.net。 前言       一般来说,初学编程者所写的第一个程序,就是使用printf打印“Hello world”。其实printf的功效远不只这些,在程序调试方面,printf也有非常大的用处。        “蜗蜗”在接触Linux ...

2016-01-07 15:32:52

阅读数:286

评论数:0

宏定义中#和##符号的使用和宏定义展开

有一道经典的C语言问题,关于宏定义中#和##符号的使用和宏定义展开问题   程序如下: #include #define f(a,b) a##b #define g(a)  #a #define h(a) g(a)   int main() {         printf(...

2015-12-25 20:24:48

阅读数:299

评论数:0

Weak Alias

Weak Alias 跟 Weak Reference 完全没有任何关系,不过是我在看到 Weak Reference的时候想到的而已。 Weak Alias 是 gcc扩展里的东西,实际上是函数的属性。这个东西在库的实现里面可能会经常用到,比如 glibc 里面就用了不少。抄录一段gcc 手册...

2015-12-15 16:03:13

阅读数:147

评论数:0

linux socket编程

转载自: 作者:吴秦 出处:http://www.cnblogs.com/skynet/ 本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名吴秦(包含链接). “一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的sock...

2015-12-01 16:41:16

阅读数:193

评论数:0

TEST_F与TEST

TEST_F与TEST的区别是,TEST_F提供了一个初始化函数(SetUp)和一个清理函数(TearDown),在TEST_F中使用的变量可以在初始化函数SetUp中初始化,在TearDown中销毁,并且所有的TEST_F是互相独立的,都是在初始化以后的状态开始运行,一个TEST_F不会影响另一...

2015-11-12 16:02:30

阅读数:312

评论数:0

CFLAGS 与 CXXFLAGS

CC 与 CXX:      这是 C 与 C++编译器命令。默认值一般是 “gcc” 与 “g++”。 CPPFLAGS will be given to the Cpreprocessor     这是用于预处理阶段的选项。 CFLAGS 与 CXXFLAGS     CFLAGS ...

2015-11-12 15:49:38

阅读数:294

评论数:0

Linux下Google Test (GTest)测试环境搭建步骤

本文将介绍单元测试工具Google Test(GTest)在Linux操作系统中测试环境的搭建方法。本文属于Google Test使用的基础教程。在Linux中使用Google Test之前,需要对如下知识有一些了解: (1)C/C++编程方法 (2)makefile的编写 (3)Linux...

2015-11-12 14:58:21

阅读数:249

评论数:0

linux串口编程

转载: --------------------------------------------------------- Author             :tiger-john WebSite            :blog.csdn.net/tigerjb Email   ...

2015-09-24 14:52:13

阅读数:328

评论数:0

信号

【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后介绍了应用层的相关处理,主要包括信号处理函数的安装、信号的发送、屏蔽阻塞等,最后给...

2015-06-26 13:10:41

阅读数:229

评论数:0

GTK+的优点与QT的优点

想看看图形界面系统的优缺点,转载了网友整理的:  GTK+的优点与QT的优点整理   在嵌入式 Linux 下有很多图形界面系统 GUI,包括 Qt/Embedded,FLTK,Microwindows 和 GTK+ 等。作为一个开发者,到底使用什么样的 GUI 系统呢?对一个系统,将它改...

2015-06-12 11:21:54

阅读数:324

评论数:0

linux 下动态链接库的制作与使用

linux 下动态链接库的制作与使用 动态链接库*.so的编译与使用- - 动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一点帮助。 1、动...

2015-06-03 10:25:24

阅读数:229

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭