寂竹

编程是一门艺术

连接脚本(linker script)之输出段描述

摘要:介绍连接脚本中的段描述 关键字: 连接脚本    linker script    输出段    output  section description 正文: 输出端的完整说明大致如下: 1: section [address] [(type)] : 2: ...

2010-12-16 11:01:00

阅读数 2038

评论数 0

连接脚本(linker script)介绍

摘要:一些连接脚本示例。 关键字: 连接脚本   linker script    lds文件 连接脚本的详细介绍可以参考:http://sourceware.org/binutils/docs/ld/Scripts.html#Scripts,一个简单的lds文件如下所示: 1:...

2010-12-15 22:41:00

阅读数 6278

评论数 1

gcc编译,ld连接

编写一个hello world的简单程序(hello.c): 1: #include 2: 3: int main(void) 4: { 5: printf("Hello world!/n"); 6...

2010-12-15 16:47:00

阅读数 8461

评论数 3

[转]Linux 汇编语言开发指南

转载自:http://www.ibm.com/developerworks/cn/linux/l-assembly/(原文排版较好,建议看原文) 一、简介 作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿 Linux...

2010-12-15 14:28:00

阅读数 1160

评论数 0

C语言中结构体(struct)乱序初始化

摘要:简单介绍一下C语言中结构体的乱序初始化方法,在linux内核中比较常见。 关键词:C语言 结构体 struct 初始化 正如下面代码所示: 1: struct __st_t 2: { 3: int a; 4: int ...

2010-12-14 16:43:00

阅读数 3142

评论数 0

#define宏定义的简单总结

1.常规用法 1: #define PI 3.1415926 2: #define CHAR_A 'a' 3: #define STRING_A "a" .codearea{ color:black; backgr...

2010-12-14 16:02:00

阅读数 10024

评论数 0

Shell中的&&、||、()和{}

&&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行; ||则与&&相反。如果||左边的命令(命令1)未执行成功,那么就执行||右边的命令(命令2);如果左边的命令执行成功了,那么就不会执行右边的命令。 ...

2010-11-24 15:54:00

阅读数 10939

评论数 0

shell中的fork、source和exec总结(包括环境变量)

摘要:对fork,source和exec三种方式执行shell脚本的总结。   准备知识 1.我们所执行的任何程序,都是由父进程(parent process)所产生出来的一个子进程(child process),子进程在结束后,将返回到父进程去。此一现像在Linux系统中被称为 fork。...

2010-11-24 15:31:00

阅读数 4012

评论数 0

[转]Linux静态/动态链接库的创建和使用

和Windows系统一样Linux也有静态/动态链接库,下面介绍创建和使用方法: 假设有下面几个文件: 头文件String.h,声明相关函数原形,内容如下: Strlen.c:函数Strlen的实现,获取给定字符串的长度,内容如下: Strlnen.c:函数StrNlen的实现...

2010-11-22 16:20:00

阅读数 602

评论数 0

面向对象的基本原则

开闭原则:软件架构应该是对扩展开发,对修改关闭 里氏(Liskov)替换原则:任何基类可以出现的地方,派生类一定可以出现 依赖倒转原则:要依赖于抽象,不要依赖于实现 接口隔离原则:应当为客户提供尽可能小的接口,而不是提供大的接口。 组合、聚合复用原则:要尽量使用组合、聚合,而...

2010-10-10 11:27:00

阅读数 612

评论数 2

C++中函数动态绑定

只有采用“指针->函数()”或“引用.函数()”的方式调用C++类中的虚函数才会执行动态绑定,非虚函数并不具备动态绑定的特征,不管采用任何方式调用都不行。 下面代码中,一个java或者C#的程序员容易犯的一个错误。 1: class Base 2: { ...

2010-10-10 10:44:00

阅读数 1878

评论数 0

VS2008中显示内存泄漏

在VS2008中需要增加几句代码来显示C++程序中的内存泄露,代码如下: 1: #define _CRTDBG_MAP_ALLOC 2: #include 3: #ifdef _DEBUG 4: #define new new(_NORMAL...

2010-10-10 10:43:00

阅读数 1643

评论数 0

The Joel Test(祖尔测试)

Do you use source control?      你们使用源代码控制吗? Can you make a build in one step?     你们一步就能完成构建吗? Do you make daily builds?    你们做每日构建吗? Do ...

2010-10-07 12:18:00

阅读数 940

评论数 2

[转]The Joel Test: 软件开发成功 12 法则

有没有听说过SEMA?这可是衡量一个软件开发组好坏的很深奥的系统。别介,等一下!别按那个联接! 给你六年你也搞不清这玩意。所以我自己随便攒了一套衡量系统,信不信由你,这系统,三分钟就可掌握。你可以把省下的时间去读医学院了(译注:美国的医学院可是要读死人的!)。 ...

2010-10-07 12:09:00

阅读数 470

评论数 0

[转]37 Signals的实用最小主义实践

尽管有那些可能性——复杂度、延误和不可预知的改动——还是有许多软件写出来、交付出去、而且最终被使用。偶尔软件会很好。在一些罕见情形下,软件的确有创新和价值。在一些案例中,还真按计划达成了目标。 在这些稀有案例中,成功往往是铁一般纪律的副产品——一种坚决做出又在每次遇到挑战时大声重申的选择,限制着...

2010-10-07 11:55:00

阅读数 927

评论数 0

GCC输出带C源代码的汇编文件

摘要: 使用GCC输出带C源代码的汇编文件,这样便于对应着源代码来查看汇编代码 关键字: GCC  源代码 汇编 使用GCC输出带C源代码的汇编文件有两种方式, 第一种方式 gcc –c –S source.c objdump –S source.o 首先生成带生成目标文件,...

2010-09-22 17:24:00

阅读数 9533

评论数 0

word文件图标无法显示的问题

摘要:word文件的图标无法正常显示,但是可以直接双击打开,也就是说word没有问题 关键字: word 图标 有一天重启电脑之后发现word文件的图标显示成了一个未知文件的图标,其他的office软件的图标也是如此,比如excel,ppt,project等。查看了一下文件的打开方式还是w...

2010-09-21 10:21:00

阅读数 17937

评论数 0

C语言隐式类型转换规则

摘要: 记录一下C语言中的隐式类型转换规则,在一些特殊情况下需要注意 关键字: C语言  隐式类型转换 C语言规定,不同类型的数据需要转换成同一类型后才可进行计算,在整型、实型和字符型数据之间通过类型转换便可以进行混合运算(但不是所有类型之间都可以进行转换) 当混合不同类型的变量进行计...

2010-09-20 19:26:00

阅读数 3677

评论数 0

C/C++的一些预定义宏

摘要:C/C++中有一些预定义宏,同过这些宏可以使得调试更加方便 关键字:  C/C++,预定义宏,__FILE__, __LINE__, __DATE__,__TIME__,__func__,__FUNCTION__ __FILE__:当前源代码文件名的字符串文字 __LINE__:当...

2010-09-15 11:32:00

阅读数 3562

评论数 2

在explorer中增加右键菜单打开命令行

摘要:为了减少在命令行中cd的麻烦,在windows的资源管理器中增加直接打开命令行的右键菜单 关键字: 资源管理器    explorer   命令行  右键菜单 注册表 将下面代码保存为*.reg文件,然后双击运行导入注册表即可: 1: Windows Registry Edi...

2010-09-15 11:24:00

阅读数 2735

评论数 0

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