
Linux
文章平均质量分 76
zhu2695
Coding life....
展开
-
Linux平台Makefile文件的编写基础篇
目的: 基本掌握了 make 的用法,能在Linux系统上编程。环境: Linux系统,或者有一台Linux服务器,通过终端连接。一句话:有Linux编译环境。准备: 准备三个文件:file1.c, file2.c, file2.h file1.c: #include转载 2015-10-09 00:23:24 · 451 阅读 · 0 评论 -
用gdb调试C与C++程序
1. GDB简介:1) 介绍:GDB是Linux下一个GNU调试程序,是用来调试C与C++程序的强力调试器。能够让用户在程序运行时观察程序的内部结构和内存的使用情况。2) 功能:Ø 按照自定义的方式启动运行需要调试的程序。Ø 可以使用指定位置和条件表达式的方式来设置断点。Ø 程序暂停时的值的监视。转载 2016-05-08 00:05:56 · 831 阅读 · 0 评论 -
g++的使用
C++中的一些文件后缀.a静态库 (archive).C.c.cc.cp.cpp.cxxC++源代码(需要编译预处理).hC或者C++源代码头文件.iiC++源代码(不需编译预处理).o对象文件.s汇编语言代码.so动态库标准C++系统头文件转载 2016-05-07 23:53:30 · 6619 阅读 · 1 评论 -
g++ 编译和链接
传统意义上的编译程序分两步走 —— 编译和链接:1.编译(compile):指用编译器(compiler)将源代码(source code)生成二进制目标文件(object file),在Windows下也就是 .obj 文件,UNIX下是 .o 文件。编译时,编译器需要的是语法的正确,函数与变量的声明的正确,编译器只检测程序语法,和函数、变量是否被声明,函数并不需要被定义。转载 2016-05-07 23:46:49 · 4529 阅读 · 0 评论 -
g++编译命令选项
gcc & g++现在是gnu中最主要和最流行的c & c++编译器 。g++是c++的命令,以.cpp为主,对于c语言后缀名一般为.c。这时候命令换做gcc即可。其实是无关紧要的。其实编译器是根据gcc还是g++来确定是按照C标准还是C++标准编译链接。下面以Test.cpp为例:命令: g++ Test.cpp功能:生成默认为a.exe的文件,这个过程包含了编译转载 2016-05-07 23:32:45 · 682 阅读 · 0 评论 -
g++的编译及调试
编译重命名等:g++ –c Hello.cc 编译文件,生成目标文件 Hello.og++ Hello.o –o abc 连接 并重命名为可执行文件 abcg++ Hello.cc 编译连接一起,生成a.outg++ Hello.cc –o hello 生成a.out并命名为hello1.总体选项 -E转载 2016-05-07 23:26:03 · 10242 阅读 · 0 评论 -
初窥Linux 之 我最常用的20条命令
玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man,他会帮你解决不少的问题。然而每个人玩Linux的目的都不同,所以他们常用的命令也就差异非常大,而我主要是用Linux进行C/C++和shell程序编写的,所以常用到的命令可以就会跟一个管理Li转载 2016-05-07 23:10:15 · 394 阅读 · 0 评论 -
linux常用基本命令
Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到版权问题。1、显示日期的指令: date2、显示日历的指令:cal3、简单好用的计算器:bc转载 2016-05-07 23:07:48 · 378 阅读 · 0 评论 -
C++中四种进程或线程同步互斥的控制方法
现在流行的进程线程同步互斥的控制机制,其实是由最原始最基本的4种方法实现的。由这4种方法组合优化就有了.Net和Java下灵活多变的,编程简便的线程进程控制手段。 这4种方法具体定义如下 在《操作系统教程》ISBN 7-5053-6193-7 一书中能够找到更加周详的解释 1临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。原创 2016-04-14 01:23:09 · 6785 阅读 · 1 评论 -
Linux平台用C++实现信号量,同步线程
Linux平台用C++实现信号量,同步线程 使用Linux平台上现有的信号量sem_t相关的一组API,可以方便地进行线程同步。现在用pthread_mutex_t和pthread_cond_t相关的一组API实现信号量机制。这组API包括:pthread_mutex_init,pthread_cond_init,pthread_mutex_lock,pthrea转载 2016-04-14 01:20:47 · 2344 阅读 · 0 评论 -
Linux线程同步的三种控制方法
Linux线程同步的三种控制方法l 互斥体Mutexl 信号灯Semophorel 条件变量Conditions什么时候会用上互斥量了?比如你现在有一全局链表,你有几个工作线程。每一个线程从该链表中取出头节点,然后对该头节点进行处理。比如现在线程1正在取出头节点,他的操作如下:Item * p原创 2016-04-14 01:15:12 · 503 阅读 · 0 评论 -
Linux下进程通信的八种方法
Linux下进程通信的八种方法:管道(pipe),命名管道(FIFO),内存映射(mapped memeory),消息队列(message queue),共享内存(shared memory),信号量(semaphore),信号(signal),套接字(Socket) (1) 管道(pipe):管道允许一个进程和另一个与它有共同祖先的进程之间进行通信; (2) 命名管道(FIF原创 2016-04-14 01:05:21 · 1941 阅读 · 1 评论 -
Linux进程间通讯的几种方式
linux进程间通信(IPC)有几种方式,下面将将简单的简述一下: 一。管道(pipe) 管道是Linux支持的最初IPC方式,管道可分为无名管道,有名管道等。 (一)无名管道,它具有几个特点: 1) 管道是半双工的,只能支持数据的单向流动;两进程间需要通信时需要建立起两个管道; 2) 无名管道使用pipe()函数创建,只能用于父子进程或者兄弟进程原创 2016-04-14 01:03:55 · 1141 阅读 · 0 评论 -
Linux Socket五种I/O模型
目录(?)[-]阻塞IO模型非阻塞IO模型 IO复用模型信号驱动IO异步IO模型5个IO模型的比较selectpollepoll简介1)阻塞I/O(blocking I/O)2)非阻塞I/O (nonblocking I/O)3) I/O复用(select 和poll) (I/O multiplexing)4)信号驱动I/O (signal driv转载 2016-04-14 00:59:14 · 655 阅读 · 0 评论 -
Linux五种IO模型
Linux五种IO模型转载:http://blog.youkuaiyun.com/jay900323/article/details/18141217 Linux五种IO模型性能分析 目录(?)[-]概念理解Linux下的五种IO模型阻塞IO模型非阻塞IO模型 IO复用模型信号驱动IO异步IO模型个IO模型的比较selectpollepoll简介1.原创 2016-04-14 00:56:23 · 4159 阅读 · 0 评论 -
linux下Epoll实现简单的C/S通信
linux下Epoll实现简单的C/S通信epoll的优点:1.支持一个进程打开大数目的socket描述符(FD) select 最不能忍受的是一个进程所打开的FD是有一定限制的,由FD_SETSIZE设置,默认值是2048。对于那些需要支持的上万连接数目的IM服务器来说显然太少了。这时候你一是可以选择修改这个宏然后重新编译内核,不过资料也同时指出这样会带来网转载 2016-04-14 00:50:53 · 1158 阅读 · 0 评论 -
Linux epoll详解
Linux epoll详解一、什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linuxkernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好转载 2016-04-14 00:47:31 · 1139 阅读 · 0 评论 -
linux下如何用GDB调试c++程序
GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。 一般来说,GDB主要帮忙你完成下面四个方面的功能:启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。可转载 2016-05-08 00:12:23 · 455 阅读 · 0 评论