- 博客(106)
- 资源 (2)
- 收藏
- 关注
转载 grep和sed替换文件中的字符串
转自 http://www.cnblogs.com/Ryan-Lee/p/5855899.htmlsed -i s/"str1"/"str2"/g `grep "str1" -rl --include="*.[ch]" ./`将当前目录下的所有.c、.h文件中的str1字符串替换为str2字符串。参数解释: sed:-i 表示操作的是文件,``括起来的grep命令,表示
2017-01-10 10:33:52 5533
转载 Linux unlink()
相关函数:link, rename, remove头文件:#include 定义函数:int unlink(const char * pathname);函数说明:unlink()会删除参数pathname 指定的文件. 如果该文件名为最后连接点, 但有其他进程打开了此文件, 则在所有关于此文件的文件描述词皆关闭后才会删除. 如果参数pathname 为一符号连接, 则此连
2016-06-20 16:23:15 1006
转载 Linux的inode的理解
转自 http://www.cnblogs.com/itech/archive/2012/05/15/2502284.html
2016-06-19 22:15:05 583
转载 *** glibc detected *** double free or corruption (fasttop)
在执行一个程序时,出现如下错误: *** glibc detected *** double free or corruption(fasttop):*** 解决方法: 1.该错误的意思是:对一个地址先后进行两次free()操作就会引起这种错误代码,如果是自己编写的代码,就仔细地检查一下代码; g_free(p=g_malloc(sizeof(int)));g_fr
2016-06-16 13:24:51 5476
转载 Linux下coredump文件的查看
转自 http://blog.csdn.net/wudiyi815/article/details/7489031Linux下core文件 程序运行过程中,出现了如下信息:terminate called after throwing an instance of 'std::bad_alloc' what(): St9bad_allocAborted (core du
2016-06-15 22:51:59 2328
转载 linux编程之mprotect
mprotect: 设置内存访问权限mmap 的第三个参数指定对内存区域的保护,由标记读、写、执行权限的 PROT_READ、PROT_WRITE 和 PROT_EXEC 按位与操作获得,或者是限制没有访问权限的 PROT_NONE。如果程序尝试在不允许这些权限的本地内存上操作,它将被 SIGSEGV 信号(Segmentation fault,段错误)终止。在内存映射完成后,这些权限仍可
2016-06-14 11:04:20 671
原创 除零异常信号 SIGFPE
#include#include#includevoid f(int signo){ printf("signo=%d\n",signo);}int main(int argc,char* argv[]){ signal(SIGFPE,f); int div=argc/(argc-1); return 0;}该捕捉除零信号的程序会陷入死循环。是
2016-04-11 13:59:17 11147
转载 Ubuntu14.04 LTS更新源
不同的网络状况连接以下源的速度不同, 建议在添加前手动验证以下源的连接速度(ping下就行),选择最快的源可以节省大批下载时间。首先备份源列表:sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup而后用gedit或其他编辑器打开: sudo gedit /etc/apt/sources.list sudo
2015-11-07 21:40:02 518
转载 ubuntu14.04开启休眠(Hibernate)
ubuntu14.04默认关闭休眠功能。但是休眠耗电极低,并且可以快速“开关机”,何乐而不为?通过简单的步骤就可以开启休眠功能。 首先,需要配置有swap分区(一般比物理内存稍大),然后在命令行中使用sudopm-hibernate测试是否可以正常休眠,如果可以从休眠中醒来并且之前的工作状态还保存着,那么恭喜,你具备了“休眠”的功能。即你可以通过命令行休眠了。 最后,在任务栏的电源图标
2015-11-03 15:36:29 1773
转载 英文论文中“such as, for example, e.g., i.e., etc., et al. ”的用法分析
黄龙旺 龚汉忠(上海交通大学学报编辑部, 200030,上海)在英文论文的编辑加工中,常会遇到such as, for example, e. g. , i. e. , etc.和et al. 的错误及混淆使用。这里,举例分析这几个词的意义,并阐述其正确用法。 1) such as。常列举同类人或事物中的几个例子。其典型的表示式为a plural +
2015-10-31 20:53:23 1371
转载 Clang 静态分析(Static Analyzer)工具使用的总结
woogle原创,转载注明出处。Clang作为LLVM(LowLevel VirtualMachine)编译器框架的前端,可以将C/C++、O-C/O-C++语言编译成为LLVM的中间表达式IR(IntermediateReresentation), 其结构图如下所示:上面的不是重点,本篇文章的重点是讲Clang静态分析工具的使用,Clang作为前端,最主要的
2015-10-16 15:34:31 10453
原创 LLVM自定义数据结构概述
自定义数据结构的好处在于,STL在不同平台的性能不一样,而且缺一些需要的数据结构,例如C++11之前没有HashMaps。同时专门的数据结构会比一般化的快。VectorSmallVector类似std::
2015-10-10 22:12:12 1281
转载 Linux系统调用--getrusage函数详解
转自 http://blog.sina.com.cn/s/blog_8eee7fb60101lgm6.html功能描述: 获得进程的相关资源信息。如:用户开销时间,系统开销时间,接收的信号量等等;用法: #include #include #include #define
2015-08-26 18:58:21 1774
转载 最值得阅读学习的 10 个 C 语言开源项目代码
摘要 开源世界有许多优秀的开源项目,我选取其中十个最优秀的、最轻量级的C语言的项目,希望可以为C语言开发人员提供参考。Csource 目录[-]代码阅读——十个C开源项目1. Webbench2. CMockery3. Libev4. Memcached5. Lua6. SQLite7. Redis8. Nginx9. UNIXv610. NETBSD
2015-07-15 11:02:50 858
转载 linux下数字转成字符串
原文地址 http://www.cnblogs.com/pony/archive/2007/12/26/1016113.html用snprintf()好些 int num; char numStr[6]; bzero(numStr,6); snprintf(numStr,5,"%d",num); 注意字符串
2015-06-05 16:04:07 5294
转载 Linux 用dd生成指定大小的文件
我们在测试或调试的时候,有时候会需要生成某个size的文件,比如在测试存储系统时,需要将磁盘剩余空间减少5G,最简单的办法就是拷贝一个5G的文件过来,但是从哪儿去弄这样大小的文件呢,或许你想到随便找一个文件,不停的拷贝,最后合并,这也不失为一种办法,但是有了dd,你会更容易且更灵活的实现我们来case by case的介绍dd的用法。先看第一个生成一个大小为5G的文件,内容不做要求
2015-06-05 13:40:39 21922 1
原创 Software-artifact Infrastructure Repository 学习笔记 2:C Object Handbooky
1. Overview本文探讨较新的C object 的组织方式,('siemens' 程序以及 space 参见附录)。一种使用 SIR 引导实验的方法是:1. 下载或拷贝一份新的 object2. 设置系统环境变量 "experiment_root" 为 object 的绝对路径。3. 确定你要使用的 artifact, 例如 specifications,versi
2015-06-02 20:08:51 2264 5
原创 clang LibTooling 的使用 (1)
根据官方文档,LibTooling 是可以用来实现编译器外部的前端工具。可以完成操作AST等工作。最先使用的 llvm 3.4.2,有几个 test 没通过,于是切换到最新的 llvm 3.7。cmake 时需要加上生成 compile database 的选项:cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Rel
2015-05-20 13:38:00 3375
转载 stringstream 的清空操作
在C++中可以使用stringstream来很方便的进行类型转换,字符串串接,不过注意重复使用同一个stringstream对象时要先继续清空,而清空很容易想到是clear方法,而在stringstream中这个方法实际上是清空stringstream的状态(比如出错等),真正清空内容需要使用.str(“”)方法。
2015-05-15 21:27:11 1154
原创 wget命令详情参数说明
wget是linux下命令行的下载工具,功能很强大,虽然我很少用,一般下在一些小东西都是直接用firefox,seamonkey这些浏览器自带的下载功能下载,没有必要用wget或者其他下载工具。但是某些时候却不是浏览器自带的下载功能和一些其他的下载软件所能做的的,这时候就得用wget了。比如如果你想下载一个网页目录下的所有文件,如何做呢?先介绍几个参数:-c 断点续传(备注:使用断点续传要
2015-05-06 08:57:49 2826
转载 我自己研究开源项目源代码的两个重要习惯
转自 http://blogread.cn/it/article/5981这两个习惯应该很大众化很普通,就是: 1. 写代码流程分析文档 2. 写不同场景的测试用例 不过我做得比较细: 1. 写代码流程分析文档 把一些难理解的、重要的代码流程写成分析文档, 按方法调用顺序排好,通常
2015-05-02 18:04:41 792
转载 看源代码那些事
转自 http://blogread.cn/it/article/4349?f=wb#original 1. 前言 很多人问我如何看源代码?是不是我在看源代码这方面特别有天赋? 其实不是的,我也只是个普通人,跟大伙没啥分别, 只不过我没有别的特别爱好,一有空时,不是写自己的代码就是看别人的代码, 我在看源代码时比较有耐心,纯粹就是兴趣驱动,或者
2015-05-02 18:00:44 847
原创 64位 Ubuntu 14.10 无法运行 jd-gui
官网下载解压之后,无法运行,如下:$ ./jd-gui ./jd-gui: error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory需要安装如下软件:sudo apt-get install libgtk
2015-04-29 17:16:03 1094
转载 王垠:我和权威的故事
转自王垠博客,我是垠粉。每个人小时候心里都是没有权威的,就像每个人小时候也都不相信广告一样。可是权威就像广告,它埋伏在你的潜意识里。听一遍不信,听两遍不信,……,直到一千遍的时候,它忽然开始起作用了,而且这作用越来越强。消灭广告所造成的幻觉,最好的办法就是去尝试,去实地的考察它。有些虚幻的东西只要你第一次尝试就会像肥皂泡一样破灭掉。可是如果你不主动去接触它,它就会一直在你脑海里
2015-04-21 10:48:28 2274 2
原创 Software-artifact Infrastructure Repository 学习笔记 1 :C Object Directory Specification
有两种目录模式,一种是早先的 siemens 程序和 space,有一个单一的基准版本 v0,其他不同的版本都是从 v0 派生出的;另一种的新的组织方式,vK+1是由vK派生出的。一般的,任一目录或子目录如果它的功能不是很显而易见,或者不合命名约定,会包含一个 CONTENTS 文件来描述。一个 object 一般会包含如下子目录:1. source空目录,在实验过程中,我们把
2015-04-02 17:03:04 2328
原创 PhD的长征
今天中午吃饭时,熊老师闲聊起组里博士的论文情况,听完真是让人感觉压力超级大,那么优秀的学长都尚且面临论文问题,何况所里的博士待遇政策越来越不利,我是该好好思考一下自己了,不能再散漫无目的闲逛下去了。早点出文章,早日毕业是王道。熊老师说博士要做200篇论文的综述,了解自己的方向,发现方向中的可以填补的空白,要从战略和战术上武装自己。博士动手能力很重要,但是学术的眼光甚至会更重要。时刻提醒自己,时
2015-04-01 00:33:11 1071
原创 llvm 学习笔记 3:相关命令
记录一些用到的命令llc:llc -march=cpp -o fork2.c fork.ll 通过 IR 生成对应llvm api 的 cpp 文件。
2015-03-09 10:43:26 715
原创 llvm 学习笔记 2 : 添加 Pass 与调试
在BackendUtil.cpp 的 void EmitAssemblyHelper::EmitAssembly 函数中, if (PerFunctionPasses) 条件后 new 了自带的 Hello pass. 重新 make 时发生以下错误make[4]: Entering directory '/home/nightwish/code/GIT/llvm/release/tools
2015-03-08 15:45:22 2574
原创 llvm 学习笔记 1 :gdb 调试 llvm
1. 编译出 llvm 系列的 debug 版本,不过据学长说比 release 版要慢 10倍。调试也可以在 release 版输出信息。2. 使用 -v 参数输出全部的参数信息。clang -flto -c hello.c -v 3. 使用 gdb clang 进入调试阶段。4. set args + 步骤2 中显示的参数 : -cc1 -triple x86_64-unkno
2015-03-05 09:49:20 3711 1
原创 Ubuntu 14.10 安装 wine
在新的Ubuntu 14.10 中使用sudo apt-get install wine会报一个 size not match 的错,猜测应该是自带的源的问题。所以首先更新源,sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup 然后在新的 source.list 中添加更新源,从 http://chenrongy
2015-03-02 13:17:27 694
转载 【解惑】领略 Java 内部类的“内部”
转自 http://www.iteye.com/topic/494230内部类有两种情况:(1) 在类中定义一个类(私有内部类,静态内部类)(2) 在方法中定义一个类(局部内部类,匿名内部类) 1、私有内部类 —— 在方法之间定义的内部类,非静态 我们首先看看类中内部类的两个特点: (1) 在外部类的作用范围内可以任意创建内部类对象,即使内部类是私
2014-12-08 14:49:53 706
原创 Soot 学习笔记 8:More on profiling
本文参考 Using Soot to instrument a class file
2014-11-25 12:00:26 2205 2
原创 Soot 学习笔记 7:使用 Soot 为应用进行 profiling 插桩
本文来自 Adding profiling instructions to applications with Soot ,描述了如何实现用 goto 指令的计数器来 annotates JimpleBody 的BodyTransformer。目标具体的会完成下述工作:根据方法的 signature 从 Scene 中将其检索。为类添加 field区分不同类型的 J
2014-11-20 13:42:08 3242 2
原创 Soot 学习笔记 6:一些 Soot 重要的类
本文依旧参考自 soot 的 tutorial :On the Soot menagerie - fundamental Soot objects
2014-11-18 16:49:07 2397
原创 Soot 学习笔记 5:使用 Soot 创建 Java class
本文主要参考自 Creating a class from scratch with Soot
2014-11-18 13:46:24 3644
原创 Soot 学习笔记 3:实现过程内的数据流分析
过程内数据流分析(intra-procedural data-flow analysis)是针对某一个方法的控制流图(也就是 soot 中的 UnitGraph )操作的。UnitGraph 是以 statement 为结点,如果一个source node 的控制流经过一个 Target node,则两者会有一条边。关于具体的数据流分析还是看龙书。对于 Soot,有3种 FlowAna
2014-11-17 14:51:02 4378 2
原创 Soot 学习笔记 1:First Step 命令行执行 soot
1.命令行执行在命令行java -jar soot-2.5.0.jar -help
2014-11-15 22:10:44 3494 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人