- 浏览: 40917 次
- 性别:
- 来自: 杭州
最新评论
文章列表
最近在Linux下进行编程,很多写好的代码要进行编译。在链接很多文件的时候,经常会出现很多的错误,而Linux下终端显示是有限的,因此每次调试的时候如果错误太多就会很不方便。如果使用简单的管道重定向如下:
gcc -c test.c > error.txt
这种方式是不行的。
我上网找相关的方法,发现很多人在问,找到的信息也比较少。有些方法甚至要写程序截获Linux的管道输出流,真是麻烦。
功夫不负有心人,我找到了一种简单的方法,其实道理很简单,就是Unix下错误输出的ID一般为2,那么我们在重定向的时候,重定向符号改为2>就可以了,如下所示:
gcc -c ...
- 2010-06-14 18:00
- 浏览 1041
- 评论(0)
二进制可执行文件的相似度分析一直是一个难题。大家都知道,即使是同一份源代码,使用同一个编译器,可用不同的编译参数进行编译后,代码也会产生极大的差异。
当发生有人因为盗用别人的源代码而产生的侵权后,如 ...
- 2010-06-03 10:57
- 浏览 788
- 评论(0)
objdump -j .text -S wbxtahoeas.2.8.2-40 > tahoe2.8.2-40.txt
---------------objdump是用查看目标文件或者可执行的目标文件的构成的GCC工具----------
以下3条命令足够那些喜欢探索目标文件与源代码之间的丝丝的关系的朋友。
objdump -x obj 以某种分类信息的形式把目标文件的数据组织(被分为几大块)输出 <可查到该文件的所有动态库>
objdump -t obj 输出目标文件的符号表()
objdump -h obj 输出目标文件的所有段概括()
...
- 2010-06-03 10:28
- 浏览 1095
- 评论(0)
在windows下,一个文件有:创建时间、修改时间、访问时间。而在Linux下,一个文件也有三种时间,分别是:访问时间、修改时间、状态改动时间。
两者有此不同,在Linux下没有创建时间的概念,也就是不能知道文件的建立时 ...
- 2010-06-03 10:26
- 浏览 787
- 评论(0)
使用 lsof 查找打开的文件
(如果在进程运行时删除文件,则此磁盘占用的空间不会被释放,文件内容只对进程可见。)
通过查看打开的文件,了解更多关于系统的信息。了解应用程序打开了哪些文件或者哪个应用 ...
- 2010-05-31 09:27
- 浏览 625
- 评论(0)
vi/vim命令手册(高级篇)
多文件编辑如果当前行还没有保存(并且autowrite未设置),则不能使用:e、:n和:rew命令。命令后面的!使得安全特性无效。
命令
功能
:e foo
停止对当前文件的编辑,开始编辑foo文件
:e! foo
同上,但是取消对当前文件的修改
:e!
装入当前文件的最近保存的内容
[Ctrl+^]
返回到最近编辑的文件
:n
编辑下一个文件(当用vi同时编辑多个文件时)
:set autowrit ...
- 2010-05-24 10:17
- 浏览 622
- 评论(0)
一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
/将下一个字符标记为一个特殊字符、或一个原义字符、或一个 后向引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'/n' 匹配一个换行符。序列 '//' 匹配 "/" 而 "/(" 则匹配 "("。
^匹配输入字符串的开始位置。
$匹配输入字符串的结束位置。
*匹配前面的子表达式零次或多 ...
- 2010-05-21 15:28
- 浏览 596
- 评论(0)
const常量、指向常量的指针和常量指针
---------------------------------1)先看const常量的情况:const int a=2;int const b=c; // c是已经声明过的整型两者都可以。本地的const常量必须在第一次声明时就初始化,用变量或常量初始化都可以,只是初始化一次以后它的值就不能再改变了,此所谓const的含义。2)接着看指向常量的指针:const int *pa;int const *pa;两者也等价。因为指向常量的指针有时候会指向常量,所以它具有这个性质:“不能靠解引用改变它指向的对象的值”,以此保护它所指向的常 ...
- 2010-05-20 17:12
- 浏览 412
- 评论(0)
信号(signal)是一种软件中断,它提供了一种处理异步事件的方法,也是进程间惟一的异步通信方式。在Linux系统中,根据POSIX标准扩展以后的信号机制,不权可以用来通知某进程发生了什么事件,还可以给进程传递数据。 一、信号的来源 信号的来源可以有很多种方式,按照产生条件的不同可以分为硬件和软件两种方式。 1、硬件方式 当用户在终端上按下某些键时,将产生信号。如按下<ctrl+C>组合键后将产生一个SIGINT信号。 硬件异常产生信号:除数为0、无效的存储访问等。这些事件通常由硬件(如CPU)检测到,并将其通知给Linux操作系统内核,然后内核生成相应的信号,并把信号发送给该事件发生时正在运行 ...
- 2010-05-11 13:53
- 浏览 531
- 评论(0)
关键字:python
Python、Unicode和中文[转]python的中文问题一直是困扰新手的头疼问题,这篇文章将给你详细地讲解一下这方面的知识。当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题,不用我们这么麻烦了。先来看看python的版本:>>> import sys>>> sys.version'2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)]'(一)用记事本创建一个文件ChineseTest.py,默认ANSI:s = &qu ...
- 2010-05-11 10:34
- 浏览 640
- 评论(0)
1、内存分配方面:堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、申请方式方面:堆:需要程序员自己申请,并指明大小。在c中malloc函数如p1 = (char *)malloc(10);在C++中用new运算符,但是注意p1、p2本身是在栈中的。因为他们还是可以认为是局部变量。栈:由系统自动分配。 例如,声明在函数中一个局部变量 i ...
- 2010-05-10 17:06
- 浏览 333
- 评论(0)
2010年02月11日 星期四 09:28
同一个文件:光标移到起始行,输入ma光标移到结束行,输入mb光标移到粘贴行,输入mc然后:'a, 'bco'c把co改成m就成剪切了多个文件:在文件一:光标移到起始行,输入ma光标移到结束行,输入mb然后:'a,'bwfilename在文件二:光标移到需要赋值的行,输入::rfilename
命令模式下:光标移到第五行,输入:6yy光标移到第12行,输入:p
- 2010-05-04 09:14
- 浏览 615
- 评论(0)
struct vs class
在 C++ 中class 和 struct 只有两点主要区别:
默认继承权限。默认情况下,class的继承是以private来继承而struct则是按照public进行继承。
成员的默认访问权限。class的成员默认是private权限,struct默认是public权限。
而其它的特性,struct和class基本上,甚至严格来说是一样的:
01
//一个不常见的示例,将 struct 直接改为class也能编译通过。
02
//编译环境为 GCC 4.4.1
03
#include < ...
- 2010-04-26 16:11
- 浏览 497
- 评论(0)