可重入代码
一、可重入函数1)什么是可重入性?可重入(reentrant)函数可以由多于一个任务并发使用,而不必担心数据错误。相反, 不可重入(non-reentrant)函数不能由超过一个任务所共享,除非能确保函数的互斥(或者使用信号量,或者在代码的关键部分禁用中断)。可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。可重入函数要么使用本地变量,要么在使用全局变量时保护自己的数据。2)可重入函数:不为连续的调用持有静态数据。 不返回指向静态数据的指针;所有数据都由函数的调用者提供。 使用本地数据,或者通过制作全局数据的本
嵌入式_main 到main 到底做了什么
标准库中包含了部分依赖于ARM semihosted执行环境的函数,这部分函数的函数名中包含有单个或两个下划线“-”,需要重新实现这部分函数。如果在程序中定义这些函数,则编译器就会使用新定义的函数,这个过程称为库函数的裁减。一般情况下,只需要重新定义很少的几个函数就可以使用C库。 ARM应用系统开始执行用户应用程序,必须先将应用程序加载到执行域,建立应用程序的执行环境。使用C库时,这些繁琐的工作就大部分由c函数来完成了。汇编程序完成系统初始化后,跳转到C程序的人口_main()(注意:不是main(),当C程序中定义了main()主
Tornado 2.2 中vxsim出问题的解决方法
使用vxsim时出现过一次这样的错误提示:error :simulator failed to initialize before timeout。然后,一直出现这样的错误提示:error: image specified can not be run as a vxworks simulator with processor number 0无法搞定。最终还是有高手解决了这个问题,这里先谢谢这些令人敬佩的前辈们。方法如下:用google搜索,找到这样一个帖子:[url]http: //groups.google.com/group/comp.os.vxworks/browse_thread/thread/b0b0be25ad9bd729/23123bdbbea37a6f?lnk=st&q=%E2%80%99initialize+before+timeout%E2%80%98&rnum=1&
c与c++的相互引用
c++虽然是一种面向对象的语言,但是还是保留了很多面向过程的特点。比如说它可以定义不属于任何类的全局变量和函数。但是c++毕竟是一种面向对象的程序设计语言,为了支持函数重载,c++对全局变量的处理和c有明显的不一样。被extern“c”修饰的变量和函数是按照c语言方式编译和连接的。作为一种面向对象的语言,c++支持函数重载,而过程语言c则不支持,函数被c++编译后在函数库中的语言和c语言的不同。可以举例说明:void foo(int x, int y)该函数被c编译后在符号库中的名字为——foo。但是c++则会根据编译其的不同,生成类似——foo——
20070506
1 定义的数组维数必须是常量或者常量表达式。因为数组的维数必须在编译时刻决定。类似,int a=2int b[a];虽然a已经定义,但是由于a不是常量表达式,所以a的值只能在运行时候访问。所以b[a]这种定义是不行的。异常处理--溢出c++ 中有一套比较完善的异常处理机智比如一个除零异常#include<iostream>double div(double,double);main(){try{ cout<<"7.0/2.0"<<div(7.0,3.0)<<endl;cout<<"7.0/0.0"<<div(7.0,3.0)<<endl;cout<<"7.0/1.0"<<div(7.0,3.0)&
20070505-c++复习
c++的信息隐藏技术,使用函数调用访问数据成员,而不是直接访问内存地址。 我们知道函数调用都会有压栈操作,会不会给系统带来额外的负担了。c++ 的函数调用基本上都是内联函数,所以基本上不会带来额外的负担 。而c++ 在基类设计中,当基类中有与类型相关的函数时,需要申明为虚函数,能够被派生类实现。虚函数是动态邦定的,所以就无法实现在静态编译的时候实现内联。这是比较影响效率,所以只有在真正需要实现虚函数时,才实现虚函数。指向常量的指针,不能通过指针修改指向常量的值。但是指针的值是可以修改,也就是指向的对象是可以修
2006年我的工作总结
2006年结束了,从表面上来看,我完成了领导布置的任务,涉及的领域非常广泛,表面来看也有不少深度,但是很多都是依赖于实习生解决的。扪心自问。我并不觉得我的水平提高了多少。基础也没有打得更加扎实。我其实还是那样眼高手低,心高气傲,不能有一点点受气。也不想脚踏实地。 但是待遇是不能少的,我已经完成了任务,并且比他们的业绩好,个人能力是否提高是我的问题,工作有成绩我就应该有较高的报酬,一切还是看年终奖吧,如果比较满意,我就不跳槽了。不满意,就离开这儿吧。 在这儿的话,其实我看不到前途的,因为他其实也是一个非