linux c
wayne_l123
互联网从业者
展开
-
linux下c++编译入门小结
最近在linux下学习c++,发现linux下编译c++程序和编译c程序还是有不少区别的。 先是照着书上的例子把习题的源代码敲了进去,然后直接gcc编译,结果报出n个错误。首先是提示编译器比支持c++,看来是编译器的问题。直接yum search gcc,结果在里边发现一个gcc-c++的包,把这个包装上后gcc是没有问题了。但是一编译,又出了一堆问题。首先是说找不到头文件:error:原创 2014-06-09 17:18:34 · 760 阅读 · 0 评论 -
c++中引用的一些研究
前言在c++中,一个变量的引用代表这个变量的别名。如果我们为一个变量定义了引用,则对该引用的操作等效于对所引用的变量的操作。那么,如果在一个函数中返回引用类型,将会产生什么样的现象?引用作为返回值下边写一个简单的程序演示引用作为返回值的情况。class ts{public: ts() {原创 2014-07-02 15:55:42 · 789 阅读 · 0 评论 -
使用source insight源码编辑软件显示linux库函数及相关宏定义
source insight是一个非常强大的源码查看软件,它可以分析出源码中各个函数原创 2014-05-30 12:37:44 · 4084 阅读 · 0 评论 -
lib库安装小心得(libnetfilter_log的安装)
最近要写一个iptables的nflog接收软件,去网上找到了一个历程,下载下来安装后提示缺少libnetfilter_log库。软件作者提示可以去netfilter官网上查看此库的说明。于是我便去官网上找到了这个库的文档和下载地址。在这不得不说的是,如果要进行基于linux某些模块的开发工作,这些模块的官网是必须要看的,上面可能有模块的开发说明文档,比如说这个libnetfilter_log模块原创 2014-05-31 21:38:12 · 5760 阅读 · 0 评论 -
宏定义错误:error: expected ‘;’ before ‘if’的解决方案
今天写了个宏来处理函数返回的结果,结果编译后总是提示: iplb_core.c:21:33: error: expected ‘;’ before ‘if’ #define CORE_IF_ERROR(res,estr) if((res)但是宏的写法明明是没有问题的,按理不应该处错误的。我又找了会错,发现这句错误后边还跟着一句: iplb_core.c:202原创 2014-06-01 16:14:48 · 18371 阅读 · 1 评论 -
c++中析构函数调用时机的研究
众所周知,c++中的每个类都会有一个析构函数,当这个类的对象被销毁的时候,对象会自动调用析构函数。那么什么情况下对象的析构函数会被自动调用呢?其实这个问题也可以换种方式问,什么情况下对象会被自动销毁。原创 2014-07-29 11:43:00 · 2077 阅读 · 0 评论 -
Linux下利用signal函数处理ctrl+c等信号
前言 linux下可以通过信号机制来实现程序的软中断,是一个非常有用的编程方法。我们平时在程序运行的时候按下ctrl-c、ctrl-z或者kill一个进程的时候其实都等效于向这个进程发送了一个特定信号,当进程捕获到信号后,进程会被中断并立即跳转到信号处理函数。默认情况下一个程序对ctrl-c发出的信号(SIGINT)的处理方式是退出进程,所以当我们按下ctrl-c的时候就可以终止一个原创 2014-07-13 17:53:09 · 43318 阅读 · 0 评论 -
c++多线程编程遇到的问题小结
众所周知,多线程编程很容易遇上诸如丢失更新、脏读、死锁等烦人的线程冲突问题。多线程的问题一旦发生便很难定位和解决,所以要在编程的初始阶段就要注意避免多线程程序常见的错误。下面总结一些个人在c++多线程编程中遇上的问题。1、类中的数据成员要尽可能设置读写专用函数,并且在函数中用互斥锁进行并发保护。解决线程冲突的最基本方法,不用多解释。2、类中的成员函数要尽量避免在没有保护的情况下对某个成原创 2014-08-21 19:43:31 · 5108 阅读 · 0 评论