编译
文章平均质量分 77
_nMaple_
常用语言C、Perl、Shell,目前涉足Java/Scala开发。酷爱Linux及开源。研究Hadoop分布式和一些大数据技术、框架、工具。对安全方面感兴趣。
展开
-
C++ 模板实现栈数据结构, 用宏将模板类声明与实现分离
今天闲来没事,写了一个STACK,用C++写的,使用了C++中的模板,就是template特性。但是编译时发现实现与声明不能分离。平时写过C++或者C的都知道,习惯性的写法都是将头文件作为函数或变量等的声明,而用源文件作为实现部分,实现头文件中的声明。但泛型却不能支持这样的写法,原因主要是泛型编译时有一个实例化过程,当不能确定 template_class 中的T是什么时,无法找到函数的入口,原创 2015-01-26 15:25:19 · 930 阅读 · 0 评论 -
C指针总结
C语言以其灵活性,从第一个标准直到现在,得到了广泛的应用。因为其贴近底层,能最大限度的将程序员从机器代码中解脱出来。但也因其语言的灵活性,使这成为一门较有难度的语言。而其完全相信程序员,将一切交与程序员处理的思想,也让很多不熟悉计算机原理的程序员大呼C语言的晦涩。 今天我总结了部分C指针的资料,为自己学习,记录于此,也希望对别人有帮助。一、指针简单介绍: 指针不原创 2016-03-22 19:36:39 · 1716 阅读 · 0 评论 -
C语言中整型的定义
使用C语言时,用sizeof运算int,long int,long long int时,得到的结果不尽相同。那么这些类型长度与什么有关?与机器?与编译器(语言实现)?还是操作系统?我查阅了一些资料,将之总结下来,希望能有一些参考价值。也欢迎指正纠错,共同学习!C语言的实现一般由编译器和标准库开发者提供,而这部分开发者有很多,常见的编译器有微软的vc,GNU的gcc,Borland的原创 2016-03-21 15:38:57 · 24049 阅读 · 1 评论 -
makefile 笔记(转载)
转载出处: http://blog.csdn.net/edisonlg/article/details/71716411 MakefileGNU make的工作分为两个阶段。在第一阶段,make读取makefile文件、内置变量及其值、隐含规则和具体规则、构造所有目标的依赖关系以及所有目标各自的依赖等。在第二阶段,make决定需要重新构造的目标并使用必要的规则进行工作。m转载 2015-10-28 10:13:32 · 559 阅读 · 0 评论 -
C++ 类的反汇编
C++的类与C++的结构体本质上没有什么不同,唯一不同的可能即是在编译期默认的成员访问全乡不同。当我们new 一个类时,在heap中申请了一块内存区域,用于保存类的实体,并且调用了类的构造函数。当我们调用delete时,调用了析构函数,并调用了heap内存块释放函数。今天随便写了一个简单的类,并对其进行了反汇编分析,由此记录下来,环境如下:操作系统:win7 sp1 x86_64调原创 2015-07-04 15:02:21 · 2473 阅读 · 0 评论 -
MinGW gcc 编译、调用dll
MinGW是Minimalist GNU for Windows, 是在windows平台上做开发的gcc工具集合,支持几乎所有的windows API,几乎可以说是VC的替代,不过因为GCC原本并不是为windows平台开发的,其主要的目标文件,环境主要是适应Unix和Linux等操作系统,很多在linux下很容易解决的问题,在windows下却很麻烦。今天一下午时间都在摆弄MinG原创 2015-07-09 18:01:45 · 13333 阅读 · 3 评论 -
C语言 基础反汇编——for循环
for循环是各种编程语言中常用的语句;其基本的格式为:for (循环变量 ; bool 表达式; 操作) { // TODO ...}一般会需要一个循环变量,这个循环变量一般也会在函数体内完成声明和初始化,若是这样的情况,则这个变量即被作为函数的局部变量处理,分配在栈上。以下编写一个简单的C程序,完成从0 加到 某个数的和运算,并分析其反汇编代码。/* au原创 2015-05-07 12:59:29 · 2877 阅读 · 0 评论 -
C指向常量的指针和指针常量
指向常量的指针:此指针指向一个内存区域,这个内存区域(编译期)只读,即是此指针指向的内存区域中的值不能改变。指针常量:此指针是一个常量,即是无法改变指针的值,如果已经保存了内存单元A 的地址,则用内存单元B 的地址赋值给它将不能通过编译。#include int x = 328;int y = 222;// a pointer point to a read-only me原创 2015-04-23 21:37:13 · 582 阅读 · 0 评论 -
Windows MSVC vs MinGW
引用出处:http://www.360doc.com/content/12/0511/08/992979_210235656.shtmlMinGW:c -> o gcc -c a.cc -> exe gcc a.c libs.o -o a.exe (从主程序a.c,附加libs,生成a.exe)o -> exe gcc转载 2015-04-03 22:11:13 · 1543 阅读 · 0 评论 -
C调用简单函数的反汇编分析记录
前两天摆弄了一下windows下的反汇编工具OllyDbg, 用起来不错,于是自己写了一个C的小程序反汇编试试。程序很简单,定义了两个自定义函数,add () 和 sub (),并传入参数。因为传入参数都只是两个,而且都是int型,总共8字节,所以这样的函数不需要用传入参数块首地址的方式传参,一般这样的函数调用都是简单函数。此次尝试使用的OllyDbg版本为2.01 ,使用的C编译器为gcc原创 2015-02-25 16:45:30 · 1111 阅读 · 3 评论 -
Java SDK jar的使用
记录Java SDK中jar工具的简单使用,并描述如何创建jar文件,两种方式。原创 2016-08-12 17:23:48 · 3741 阅读 · 0 评论