编程
aihao1984
这个作者很懒,什么都没留下…
展开
-
字节序问题
前几天编程遇到字节序的问题,虽然凭着以前学过的知识印象,解决了字节顺序的问题,但是具体的知识以及概念不是很清楚,所以在网络上搜集了一下相关的资料。在此做一些总结。 在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:big-e原创 2010-06-30 13:18:00 · 776 阅读 · 0 评论 -
代码之丑(转载)
<br /> 在infoQ上面看见这系列文章的第一部分,给我很大的触动,以及将它转载的冲动。突然觉得原来写代码也可以这么讲究,“写代码”其实其中应该包括“设计”成分。虽然代码的可读性以及代码的运行效率有时候是存在矛盾的,同时,过于“干净”的代码并不见得就有很好的可读性,但是过于“直白”,不加任何修饰和处理的代码,也是让人绝望的。长久的“直白”代码会消磨程序员写程序的兴致和憧憬。<br /> 以下转载这个系列的文章。转载时请以超链接形式标明文章原始出处和作者信息及本声明<br />http转载 2010-11-20 16:00:00 · 1303 阅读 · 0 评论 -
GCC内联汇编(inline assembly)
<br /> 在计算机编程中,内联汇编(inline assembly)是某些编译器的一个特点,它允许一些低级代码以汇编的形式嵌入到某些高级语言中,如C语言等。这种嵌入方式一般基于三种原因:1)优化;2)访问处理器的特殊指令;3)系统调用。(参考wiki http://en.wikipedia.org/wiki/Inline_assembler)。<br /> 以下是转载IBM developerworks 上面的一篇文章,介绍GCC的内联汇编。地址:http://www.ibm.原创 2010-10-21 11:20:00 · 1717 阅读 · 0 评论 -
va_list原理及用法
VA_LIST 是在C语言中解决变参问题的一组宏,变参问题是指参数的个数不定,可以是传入一个参数也可以是多个;可变参数中的每个参数的类型可以不同,也可以相同;可变参数的每个参数并没有实际的名称与之相对应,用起来是很灵活。下面是va_list的用法示例:#include int AveInt(int,...); void main(){ printf("%d/t",AveInt(2,2,3)); printf("%d/t",AveInt(4,2,4,6,8));原创 2010-10-20 11:22:00 · 50686 阅读 · 3 评论 -
打jar 包以及jar包的运行(输出打印信息)
1. 进入DOS界面2. 进入jar包所在路径(注意不要放在桌面上)3.输入 java -jar ***.jar 这样就可以在DOS界面下看到程序中输出的打印信息了原创 2010-06-22 13:24:00 · 7797 阅读 · 2 评论 -
转载typedef用法
这篇文章是转载过来的,前一部分看着还好,后一部分没有勇气看下去了,以后基本功练扎实了,再继续学习!先把它记录下来。一.基本概念剖析 int* (*a[5])(int, char*); //#1void (*b[10]) (void (*)()); //#2double(*)() (*pa)[9]; //#3 1.C语言中函数声明和数组声明。函数声明一般是这样: int fun(int, double);对应函数指针(pointer to function)转载 2010-06-18 16:21:00 · 372 阅读 · 0 评论 -
转载extern用法详解
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案与分析: 1)、不可以,程序运行时会告诉你非法访问。原因在于,指向类型T的指针并不等价于类型T的数组。ex原创 2010-06-18 16:22:00 · 537 阅读 · 0 评论 -
C语言嵌入式系统编程修炼之性能优化(转载)
开发者在线 Builder.com.cn 更新时间:2007-11-22作者:宋宝华 来源:天极网使用宏定义 在C语言中,宏是产生内嵌代码的唯一方法。对于嵌入式系统而言,为了能达到性能要求,宏是一种很好的代替函数的方法。 写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的一个: 错误做法:#define MIN(A,B) ( A 正确做法:#define MIN(A,B) ((A) 对于宏,我们需要知道三点: (转载 2010-07-02 12:48:00 · 401 阅读 · 0 评论 -
C语言嵌入式系统编程修炼之内存操作(转载)
开发者在线 Builder.com.cn 更新时间:2007-11-22作者:宋宝华 来源:天极网数据指针 在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力。在嵌入式系统的实际调试中,多借助C语言指针所具有的对绝对地址单元内容的读写能力。以指针直接操作内存多发生在如下几种情况: (1) 某I/O芯片被定位在CPU的存储空间而非I/O空间,而且寄转载 2010-07-02 12:46:00 · 525 阅读 · 0 评论 -
C语言嵌入式系统编程修炼之软件架构篇(转载)
转载自:开发者在线 Builder.com.cn 更新时间:2007-11-22 作者:宋宝华 来源:天极网模块划分 模块划分的"划"是规划的意思,意指怎样合理的将一个很大的软件划分为一系列功能独立的部分合作完成系统的需求。C语言作为一种结构化的程序设计语言,在模块的划分上主要依据功能(依功能进行划分在面向对象设计中成为一个错误,牛顿定律遇到了相对论),C语言模块化程序设计需理解如下概念: (1) 模块即是一个.c文件和一个.h文件的结合,头文件(.h)中是对于该转载 2010-07-01 16:44:00 · 537 阅读 · 0 评论 -
数据库设计的三大范式(转载)
本为转自:http://www.cnblogs.com/zhhh/archive/2011/04/21/2023355.html 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:转载 2011-12-25 14:46:32 · 2686 阅读 · 0 评论