linux 编程
C咖咖
历史不会简单的重复,但历史会惊人的相似
展开
-
交叉编译的参数简述--build、host和target
转自http://blog.chinaunix.net/uid-20321537-id-1966851.html build、host和target 在交叉编译中比较 常见 的一些参数就是build、host和target了,正确的理解这三者的含义对于交叉编译是非常重要的,下面就此进行解释 --build=编译该软件所使用的平台 --host=该软件将运行的平台转载 2017-07-12 09:12:56 · 313 阅读 · 0 评论 -
Linux编译多个不同目录下的文件以及静态库、动态库的使用
转自:http://blog.csdn.net/luotuo44/article/details/16970841一、 编译不同目录下的多个文件各个文件的布局如下: head.h文件的代码:[cpp] view plain copy print?#ifndef HEAD_H #define HEAD_H int转载 2017-12-19 08:33:01 · 1043 阅读 · 0 评论 -
ubuntu add/del user
ubuntu:~# sudo passwd rootsudo: 无法解析主机:ubuntu输入新的 UNIX 密码: 重新输入新的 UNIX 密码: passwd:已成功更新密码GJ@ubuntu:~# su - rootroot@ubuntu:~#///////////////////////////////sudo adduser xxx 这样的命令会在转载 2017-11-06 11:18:16 · 381 阅读 · 0 评论 -
*p++和(*p)++区别
现在写代码比较少,*p++和(*p)++有些混淆,记录下以便以后用到:*p++等价于*(p++):先取值再p后移??很多人错误地认为是先执行*p, 然后执行p++,结果看起来像是这样子的,不过这么理解是不对的。原因是*和++的优先级相同,它们是右结合方式,实际上先执行p++,因为是后置++,p++返回的还是原来p指向的位置,等执行完解指针*p后,指针p才后移的。例如 int j = i++; ...原创 2017-09-12 17:09:24 · 4704 阅读 · 1 评论 -
linux系统中errno对应的含义
errno 在 中定义,错误 Exx 的宏定义在 /usr/include/asm-generic 文件夹下面的 errno-base.h 和 errno.h,分别定义了 1-34 、35-132 的错误定义。strerror() 函数依据 errno 值返回错误描述字符串,下面程序打印对照表:[cpp] view plain copy#include #i原创 2017-08-22 14:35:56 · 1678 阅读 · 0 评论 -
Linux中文件的压缩与解压缩
对许多用户来说,在DOS和Windows环境下利用工具软件ARJ、Winzip等,压缩或解压文件是比较容易的事。但是,在Linux中如何对文件进行压缩与解压呢?本文基于Red Hat 6.0,介绍了压缩与解压文件的几种方法与技巧,希望对读者有一定的帮助。命令: compress格式: compress 选项 文件列表功能: 用Lempel-ziv压缩方法来压缩文件或压缩标准输入转载 2017-07-27 13:35:39 · 264 阅读 · 0 评论 -
GCC编译C C++ 和C混合C++
原文 http://blog.renren.com/share/241565115/1819139547http://wiki.ubuntu.com.cn/Compiling_C#C_.E7.BC.96.E7.A8.8B.E4.B8.AD.E7.9B.B8.E5.85.B3.E6.96.87.E4.BB.B6.E5.90.8E.E7.BC.80 http://wiki.ubun转载 2017-07-27 12:26:02 · 3451 阅读 · 1 评论 -
利用backtrace和backtrace_symbols函数打印调用栈信息
通过backtrace()函数可以获得当前的程序堆栈地址. 提供一个指针数组, backtrace()函数会把调用堆栈的地址填到里面.#include int backtrace(void **buffer, int size);为了跟踪动态库, 需要给gcc添加-rdynamic参数. 另外, 为了看到函数名, 行号等调试信息, 还要添加-g参数.-rdynamic参数的转载 2017-08-01 14:07:46 · 2395 阅读 · 0 评论 -
超过 130 个你需要了解的 vim 命令
从 1970 年开始,vi 和 vim 就成为了程序员最喜爱的文本编辑器之一。5年前,我写了一个问自己名为 “每个程序员都应该知道的 100 个 vim 命令” 这次算是之前那篇文章的改进版,希望你会喜欢。基础:e filenameOpen filename for edition:wSave file:qExit Vim:q!转载 2017-08-01 13:59:27 · 274 阅读 · 0 评论 -
红黑树(Red Black Tree)
二叉树,平衡二叉树,红黑树,B-树、B+树、B*树的区别https://blog.csdn.net/wyqwilliam/article/details/82935922hackbuteer1:STL源码剖析---红黑树原理详解上https://blog.csdn.net/Hackbuteer1/article/details/7740956STL源码剖析---红黑树原理详解下...原创 2017-07-31 17:42:38 · 268 阅读 · 0 评论 -
linux中fork()函数详解
一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值转载 2017-07-19 10:19:58 · 215 阅读 · 0 评论 -
linux patch 命令小结
转自http://blog.csdn.net/wh_19910525/article/details/7515540说到patch命令,就不得不提到diff命令,也就是制作patch的必要工具。diff命令,在制作patch文件的时候,基本上只需要使用到diff -Nau 这个参数,如果比较的是文件夹,还要加上-r参数,所以一般直接使用Naur参数。 实验的基本步骤。我打算是建立一转载 2017-07-21 10:06:07 · 230 阅读 · 0 评论 -
预处理,编译,链接过程
一、概述C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生成可加载、可执行代码的过程。过程图解如下: 预处理器:将.c 文件转化成 .i文件,使用的gcc命令是:gcc –转载 2017-07-12 15:19:59 · 1017 阅读 · 0 评论 -
linux中fork()函数详解
一、fork入门知识一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原...原创 2016-01-22 10:59:22 · 399 阅读 · 0 评论