自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qc_liu的blog

码农的挨踢狗

  • 博客(34)
  • 资源 (3)
  • 收藏
  • 关注

原创 gdb 使用心得

带参数调试run 设置一次性断点tb  跳出循环finish当变量值改变时的断点watch

2015-01-29 12:43:43 532

原创 vim使用心得

用4个空格替换tab键在用户目录下新建.vimrc文件。在里面加入set ts=4set expandtab显示行号在.vimrc 文件中加入set nu!

2014-12-18 08:52:01 567

原创 git 的使用

github太慢。最近使用OCchinaGit。1.在网站上建立项目。记住地址。2.在本地clone这个项目。可以加入一些自己的文件3.git add * 将所有文件加入git4git commit  -m ‘--------’ 提交所有 ‘’里面是提交时的注释信息。可以有多个-m,多行信息。5git push

2014-12-17 12:56:58 293

原创 Linux命令

重置root密码sudo passwd rootlinux端口占用问题:lsof -i:端口号,查看哪个进程占用的该端口。杀死进程用 kill -9  进程号。查看用户进程1>root权限下ps -fu USER_ID 显示这个用户的所有进程2>ps -a

2014-11-29 10:50:27 368

原创 更改默认pyyhon解释器

ubuntu默认带着python。当安装了新的python3.4时,命令行输入python还是显示低版本。解决方法:问题分析:其实在linux系统中多个python版本是可以共存的,只不过在终端中运行的时候,输入 python2.7 或者 python3.4 就能进入不同的版本了,而且在你的*.py文件中可以用 #!/usr/bin/python  来指定程序的解释器版本,

2015-04-06 21:59:25 851

原创 dot画图那些事儿

安装。编写dot文件“a”与“b”都是节点。用->代表有向边。-代表无向边。“ ”中间的是节点中要显示的内容。也可以lable里面是节点的内容,a、b此时都是节点的名字而已。shape 节点的形状color 节点边颜色。style 当style = filled时, 节点填充色为边颜色。fontcolor 节点内容的文本颜色。

2015-04-06 20:00:10 555

原创 CLHLock的C语言实现

#include #include #include #include #define FALSE 0#define TRUE 1static int shareddata = 50;struct qnode* tail;struct qnode q;pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;

2015-03-30 20:59:22 684

原创 C杂碎

在Linux下输出long long类型。printf("%lld", l);

2015-03-14 20:09:01 580

原创 testMarkDown

titletitle1asdfasdfasdfasdfasdfasdf asdfasdf asdfasdf asdfasdf public static mainpublic static main{ int i; int j;}nihaohello hello hello hello world; hello

2015-02-25 20:52:04 327

原创 标记联合体

对于typedef的相互嵌套的问题,把哪个放在前面都不行。解决办法。在最先面先声明一下。这样在Exp_time里面编译器就知道Exp是什么意思了。用编辑联合体可以做出类似java的多态。也就是可以用一个基类表示所有可能的子类。上面的这个关系也是用Exp表示一种抽象的运算, 而add和times是两个子类,是具体的。

2015-01-29 13:16:32 974

原创 C与java实现命令行系统

#include #include #define TRUE 1#define FAULSE 0typedef enum{ EMPTY, STRING}Kind;typedef struct Arg{ char* name; char* option; char* description; Kind kind; void (

2015-01-21 12:56:56 517

原创 C语言的异常处理——setjmp

C语言实现类似JAVA的异常处理,需用用到标准库中的setjmp.h。       在导入了setjmp.h之后,我们就可以利用里面定义的类型jmp_buf来设置锚点,也就是可能会出现异常的位置,相当于java的try。       jmp_buf结构体里面存放了寄存器的状态,setjmp(buf)在第一次执行的时候一定是返回0,int setjmp(jmp_buf envbuf)

2015-01-17 12:33:36 653

原创 多态在JVM中的实现——invokevirtual与invokespecial

先给一段程序public class BaseClass{ void supermethod() { System.out.println("superMethod"); } void onlysuper() { this.supermethod(); System.out.println("only super"); }}public class ChildC

2015-01-10 16:49:54 3933 1

原创 java虚拟机接口的实现

在java虚拟机中,有invokevirtual和invokeinterface两个很类似的指令。这两条指令的区别在哪里呢??

2015-01-10 14:43:50 1743

原创 函数指针的使用

1,声明格式type (* name) (type arg1,...)与函数声明不同的地方,就是把夲身的函数名换成(*name)。下面的例子用了一个typedef化简的声明的过程。funcp2夲身的声明应该是int (*funcp2) (int a, int b)2,赋值函数指针在使用前一定要先赋值。将函数名(也就是函数的地址)赋值给函数指针。3,调用调用可以有两种

2015-01-08 19:01:21 564

原创 C语言指针的操作

如果想要表达,将constants_pool->info+i的位置存放一个u8类型的数据这面这种写法*(u8*)(constant_pool->info+i)意思是constant_pool->info+i的位置先强制转化为一个u8类型的地址,然后再寻址,往里面放数据。*(u8*)&(constant_pool->info[i])这一

2014-12-31 00:38:40 1177

原创 对于C语言头文件里面extern的理解

如果想在一个C文件里面引用另外一个C文件里面的变量,怎!么!办?我们的做法是将变量在H文件中声明为ertern,然后在其他文件中导入这个H文件。这里需要注意的是,如果导入了H文件,那就不能声明同名的变量了。另外,H文件中的声明变量必须是在别的文件里面已经声明过的。这里特别强调变!量!如上图。左边是H文件,里面声明的一个ppp变量。在右边的文件里面引入H文件。但是!这

2014-12-29 12:42:34 3866

原创 Tiger垃圾收集器的实现

配合实验文档Lab4先解释文档里面的三个名词。Memory GC MapsCall Stack and GC StackClass GC Maps       Memory GC Maps 是为了记录变量是否指向堆上。显然,只有指向堆上,才有必要回收。这里因为Tiger没有static的变量,所以我们执行一个方法的时候,参数列表里面的变量是唯一引用外面变量的地方

2014-12-28 00:37:31 365

原创 可变参数函数stdarg

#include #include int add(int pre,...){ va_list arg_ptr; int sum = pre; int argValue; va_start(arg_ptr,pre); do { argValue=va_arg(arg_ptr,int); sum+=arg

2014-12-18 20:31:38 444

原创 FILE的操作

fread原型:size_t fread(void *buffer, size_t size, size_t count, FILE *stream);从一个文件流中读数据,读取count个元素,每个元素size字节.如果调用成功返回count.如果调用成功则实际读取size*count字节fseekint fseek( FILE *stream, long offse

2014-12-18 10:05:15 387

原创 makefile使用心得

在makefile里面输入all:     gcc 。。。。    。。。。    。。。。clean :     rm -rf 。。。。。注:命令前面的空格是tab。也就是/t,所以如果vi的tab被替换,需要用别的编辑器处理。此外还有一个问题,在windos下的文件,换行符到了linux就多了一个^M,去掉的办法很简单。用

2014-12-18 08:53:27 489

转载 设置 Ubuntu DNS 缓存

1. 安装dnsmasq:# 安装dnsmasq的软件包[linuxidc@linuxidc-Ubuntu ~] $ sudo apt-get install "dnsmasq"2.设定dnsmasq接管本机的DNS解析请求:# 修改dnsmasq的配置文件[xport@ubuntu ~] $ sudo gedit /etc/dnsmasq.conf# 找到下面

2014-12-08 18:47:43 752

原创 遍历HashMap

在应用中碰到了要遍历HashMap的情况。总结一下。先上图。用cycle创建了一个Set的实例enn。用enn的iterator()返回一个迭代器Iterator。此时的迭代器是一个Key—Value对。所以需要Map.Entry entry = itt.next()。一下摘自JDK1.7public static interface Map.Ent

2014-12-05 13:05:15 501

原创 java的静态内部类

java的静态内部类或许有许多用途。最近用到了一个,记录一下。静态的内部类与非静态的内部类有什么区别呢??从应用层面上讲,创建静态内部类的实例可以不通过其外部类。贴一小段代码。public class Ast{ // /////////////////////////////////////////////////////////// // type pub

2014-12-05 10:11:56 409

原创 对象序列化Serializable

import java.io.Serializable;public class Graph implements Serializable{ private static final long serialVersionUID = 1L;// graph node public class Node implements Serializable { private st

2014-12-05 10:02:20 303

原创 linux下使用tar命令

解压语法:tar [主选项+辅选项] 文件或者目录使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。主选项:c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。x 从档案文件中释放文件。相当于拆包。t 列出档案文件的内容,查看已经备份了哪些文件。特别注意,在参数的下达中, c/x/t 仅

2014-11-29 10:53:31 402

原创 eclipse Package Explorer标志的含义

红色正方形:私有蓝色实心三角形:default方法绿色圆球:public方法右边C标:构造函数右边绿色实心三角形:重载父类方法右边空心三角形:实现父类abstract方法

2014-11-18 19:59:18 999

原创 在Tiger中加入记录执行时间的功能。

在我们的tiger编译器里,

2014-11-14 14:46:03 370

原创 Adding profiling instructions to applications with Soot

Adding profiling instructions to applications with SootFeng Qian ([email protected])Patrick Lam ([email protected])March 8, 2000This tutorial is based on the countgotos example, w

2014-11-13 16:12:57 737

原创 Creating a class from scratch with Soot

Creating a class from scratch with SootFeng Qian ([email protected])Patrick Lam ([email protected])February 4, 2005Chris Goard ([email protected])This tutorial is based on th

2014-11-13 14:46:04 650

原创 setuid的使用

用 setuid() 设置实际用户 UID 和有效用户 UID。用 setgid() 设置实际组 ID 和有效组 ID。两个函数声明如下:-- 设置 UID 和 GID" src="file:///E:/%E6%96%87%E6%A1%A3/[email protected]/87982106bb8b4596b427ecc91b8db7b2/656c325%26690.jpeg"

2014-11-10 18:38:30 2192 1

原创 Instrumenting Android Apps with Soot

I am excited to let you know that we have recently committed to the development Branch of Soot support for reading and writing Dalvik bytecode with Soot. (This code will also be contained in Soot’s

2014-11-05 19:54:03 761

原创 Android adb.exe程序启动不起来,如何处理

Android adb.exe程序启动不起来,如何处理  经常遇到 Please ensure that adb is correctly located at 'D:\java\sdk\platform-tools\adb.exe' and can be executed.遇到问题描述:运行android程序控制台输出[2012

2014-11-04 18:58:34 400

原创 Soot 分析安卓apk过程

首先要下载官方的几个包http://vandyk.st.informatik.tu-darmstadt.de/abc/上面这几个包要全部引用到还有一套安卓的

2014-11-04 18:39:11 3810

GO语言程序设计

go语言程序设计。矢量版。 Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。

2015-09-07

数据库概论

全国大部分高校计算机本科生的数据库教材。

2015-05-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除