
linux技术
文章平均质量分 72
向量Vector
IT 人员
展开
-
Makefile文件的shell语法
在Makefile中写shell代码有点诡异,和不同的shell语法不太一样,如果不了解,看Makefile会莫名其妙。下面总结了一些。1:尽在Makefile文件的目标项冒号后的另起一行的代码才是shell代码。eg:xx = xx1 // 这里时makefil转载 2011-07-08 21:44:09 · 303 阅读 · 0 评论 -
linux c程序中获取shell脚本输出
1. 前言 Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作。比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?原创 2011-07-13 09:41:00 · 209 阅读 · 0 评论 -
VIM配置文件vimrc
.vimrc (VIM配置文件)view plaincopy to clipboardprint?"All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just " /usr/share/vim转载 2011-07-13 11:42:06 · 336 阅读 · 0 评论 -
VIM编辑代码时的一些技巧
格式化与注释 VIM格式化代码: 格式化全文指令 gg=G 自动缩进当前行指令 == 格式化当前光标接下来的8行 8= 格式化选定的行 v 选中需要格式化的代码段 = 备注: gg —— 到达文件最开始 = —— 要求缩进原创 2011-07-13 11:57:38 · 377 阅读 · 0 评论 -
SHELL学习笔记----IF条件判断,判断条件
前言: 无论什么编程语言都离不开条件判断。SHELL也不例外。 if list then do something here elif list then do another thing here转载 2011-07-13 11:58:14 · 268 阅读 · 0 评论 -
ubuntu下C编程,编译基础
C 编程中相关文件后缀 .a静态库 (archive).cC源代码(需要编译预处理).hC源代码头文件.iC源代码(不需编译预处理).o对象文件.s汇编语言代码.so动态库单个源文件生成可执行程序 下面是一个简单的“hello, ubuntu”程序的源代码: /* helloub原创 2011-07-13 12:01:27 · 271 阅读 · 0 评论 -
gcc g++ ld 相关编译器选项
1不包含make的相关知识2主要已见过的程序为makefile文件用到的选项为主nm -C dev_insert.onm 列出了 .o 中所有用到的函数?以及自己导出的函数。ldd dev_insert.cgi 列出了启用到的所有 动态库=====================原创 2011-07-13 13:51:37 · 690 阅读 · 1 评论 -
linux命令之调试工具gdb
编译生成带调试信息的可执行文件,gcc -g tst.c -o tst // 使用-g选项 所谓的带调试信息指的是: 把每一条执行汇编语句对应的源码的文件名以及所在的行号记录下来. 并不记录源代码内容本身. gdb的常用命令:l/list // 列出第n行代码附近(上下文)的源原创 2011-07-14 15:32:55 · 2222 阅读 · 0 评论 -
gcc参数详解
UNIX系统开发-gcc参数详解http://www.chinaunix.net 作者:sdccf 发表于:2004-01-02 21:37:44[版本] -0.13 [声明] 这篇文档是我的关于gcc参数的笔记,我很怀念dos年代我用小本子,纪录所有的dos 命令的参数.原创 2011-07-14 17:44:56 · 232 阅读 · 0 评论 -
linux 下 奇怪的 动态库 依赖问题
总结如下:1)当你在编译生成静态库的时候, 只需要相应的依赖库库的头文件即可. 只有在你想生成so,或可执行文件 时, 才需要lib库. 对于你没有用到的lib, 但是不包含又编译失败, 那么只包含其头文件即可.2)如果你同时使用了多个库,而库之间又相互依赖,那么在链接是,把转载 2011-07-14 15:35:36 · 515 阅读 · 0 评论 -
linux命令之调试工具strace
参考1《linux的strace命令(详解).txt》 新浪电子书可下载2man strace一个基本上通用的 完整的用法:strace -o output.txt -T -tt -e trace=all -p 28979上面的含义是 跟踪28979进程的所有系统调用(-e tr原创 2011-07-14 15:31:23 · 516 阅读 · 0 评论 -
linux内核编译步骤
linux内核编译步骤 对于linux新手来说,编译内核相对有一些难度,甚至不知道如何入手,我通过在网上收集这方面的资料,最终编译成功.现在 我归纳了一下,写出这一篇还算比较详细的步骤,希望能对各位新手有一些 帮助。 1、 准备工作(1)原创 2011-08-03 11:58:32 · 485 阅读 · 0 评论 -
将 Win32 程序移植到 Linux
对于这个问题,网上已经有很多资料给予了介绍,但是相比于这些信息,本文立足于个人的实践,将内容具体到开发环境和源代码,我觉得还是有很多值得总结和借鉴的。首先声明开发环境。Win32程序的开发环境是VS.Net 2008,编程语言是C;Linux使用的RHEL 5.4,GCC的版本是转载 2011-07-13 09:05:45 · 315 阅读 · 0 评论 -
多线程间通信的问题
一 多线程间通信的问题多线程间通信的问题 本质上就是, 一个线程负责维护一个变量/结构体, 另外的一个(多个)线程读取这个变量结构体的内容eg: 线程A维护结构体struA, 线程B需要不断的读取struA的内容多线程间通信时, 编码面临最大的问题在于 读取的信息不一致, 读脏数原创 2011-07-13 14:00:52 · 6882 阅读 · 0 评论 -
unix 环境高级编程
刚开始,就遇到了问题,我连代码都不知道怎么编译。编译 《UNIX环境高级编程》配套代码遇到的问题 apue.h问题如下1)书中的第一个例子是 ls, 源码对应的文件却是 fig1.3, gcc不认识这中文件 cp fig1.3 myls.c2)fig1.3中包含了 apue.h原创 2011-07-13 13:50:02 · 218 阅读 · 0 评论 -
【转】编写可移植C/C++程序的要点
以前做过两年C++程序移植工作,从Win32平台移植到Linux平台。大约有上百万行C/C++代码,历时一年多。在开发Win32版本时,已 经强调了程序的可植性,无奈Win32团队里对Linux精通的人比较少,很多问题没有想到,直到后来移植工作开始时,才发现移植并非像想的那样简单转载 2011-07-11 13:01:23 · 346 阅读 · 1 评论 -
linux - shell
一个网上的shell参考教材,很好。第 31 章 Shell脚本 http://learn.akae.cn/media/ch31s05.html#id2874366========================为何下面的脚本使用 /bin/bash 就不报错,使用/bin/sh原创 2011-07-12 13:23:32 · 334 阅读 · 0 评论 -
du,df,fdisk,mkfs.ext3命令详解
1. du命令详细用法常用命令:[b]du[/b] –a查询档案或目录的磁盘使用空间a:显示全部目录和其次目录下的每个档案所占的磁盘空间b:大小用bytes来表示 (默认值为k bytes)c:最后再加上总计 (默认值)s:只显示各档案大小的总合x:只计算同属同一个档案系统的档案原创 2011-07-13 11:54:45 · 231 阅读 · 0 评论 -
linux下编译安装程序的路径说明
linux下编译安装程序的路径说明 http://www.miidoo.cn/info_detail-704.html1. 安装目录变量在Makefile中,安装目录同样需要使用变量来指定,这样就可以很方便的修改文件的安装路径。安装目录的标准命名下边将一一介绍。这些变量基于标原创 2011-07-13 13:52:38 · 294 阅读 · 0 评论 -
gcc和g++的区别
很多人不是很明白GCC与G++的区别gcc和g++都是GNU(组织)的一个编译器。 误区一:gcc只能编译c代码,g++只能编译c++代码 两者都可以,但是请注意:1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意转载 2011-07-13 11:22:00 · 195 阅读 · 0 评论 -
Vim的分屏功能
分屏启动Vim使用大写的O参数来垂直分屏。 vim -On file1 file2 ...使用小写的o参数来水平分屏。 vim -on file1 file2 ...注释: n是数字,表示分成几个屏。关闭分屏 关闭当前窗口。 Ctrl+W c关闭当前窗口,如果只剩最后一个了,则退原创 2011-07-13 11:55:37 · 202 阅读 · 0 评论 -
linux软链接和硬链接
简而言之:软链接相当于windows中的快捷方式硬链接相当于一个灾备系统,数据存放在两处,与复制不同的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外一处数据如果被删除了,不会影响到另一处的数据. 下面是详细的介绍: 存在两种不同类型的链接,软链接和硬链接。修改其转载 2011-07-13 11:59:08 · 308 阅读 · 1 评论 -
valgrind 的使用 记录
1) 首先是安装吧.靠,出师不利, 下载源码,解压, 自定义路径安装,1、 到www.valgrind.org下载最新版valgrind-3.2.3.tar.bz22、 解压安装包:tar –jxvf valgrind-3.2.3.tar.bz23、 解压后生成目录valgrin原创 2011-07-13 13:50:52 · 415 阅读 · 0 评论 -
.bashrc bash高效使用记录
cd ~nemo 相当于 cd /home/nemo递归创建目录mkdir -p ~/test1/test2/test3使用一个命令来定义复杂的目录树~ $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/st原创 2011-07-12 13:22:49 · 239 阅读 · 0 评论 -
Win Unix Mac 等多种系统平台的宏定义
Win Unix Mac 等多种系统平台的宏定义,平台移植时可做参考view plaincopy to clipboardprint?#ifndef QGLOBAL_H #define QGLOBAL_H #define QT_VERSION_STR "3.1.2转载 2011-07-13 09:02:55 · 263 阅读 · 0 评论 -
shell基础知识
Shell脚本是含有若干UNIX命令或可执行程序的文本文件。 1 运行Shell脚本Shell脚本有两种运行方式,第一种方式是利用sh命令,把shell脚本文件名作为参数。这种执行方式要求shell脚本文件具有“可读”的访问权限。 第二种执行方式是利用chmod命令设置shell原创 2011-07-13 11:40:59 · 214 阅读 · 0 评论 -
linux 下查看cpu位数 内核等参数命令
linux 下查看cpu位数 内核等参数命令 # uname -aLinux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux(查看当前操作系统内核信息)# ca原创 2011-07-13 11:53:59 · 442 阅读 · 0 评论 -
vim实用功能总结
这是我总结的一些基本用法,可能对初用者会有帮助,独乐乐不如众乐乐,是吧!说明:以下黑色为vi和vim均有的一般功能,而红色为Vim(Vi Improved)所特有功能。Vim一般的Unix和Linux下均有安装。 三种状态Command: 任何输入都会作为编辑命令,而不会出现在原创 2011-07-13 11:56:56 · 298 阅读 · 0 评论 -
Linux各种文件后缀名解说
首先要说明的是在Linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行文件。而gcc则通过后缀来区别输入文件的类别,下面我们来介绍gcc所遵循的部分约定规则。一般.c为后缀的文件,C语言源代码文件;.a为后缀的文件,是由目标文件构成的档案库文件;.原创 2011-07-13 11:59:43 · 320 阅读 · 0 评论