博文
pragma指令简介(2006-06-20 00:44:00)
摘要:
www.csdn.net
在编写程序的时候,我们经常要用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作.
下面介绍了一下该指令的一些常用参数,希望对大家有所帮助!
一. message 参数。
message
它能够在编译信息输出窗
口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为:
#pragma message(“消息文本”)
当编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。
当我们在程序中定义了许多宏来控制源代码版本的时候,我们自己有可能都会忘记有没有正确的设置这些宏,此时我们可以用这条
指令在编译的时候就进行检查。假设我们希望判断自己有没有在源代码的什么地方定义了_X86这个宏可以用下面的方法
#ifdef _X86
#pragma message(“_X86 macro activated!”)
#endif
当我们定义了_X86这个宏以后,应用程序在编译时就会在编译输出窗口里显示“_
X86 macro activated!”。我们就不会因为不记得自己定义的一些特定的宏而抓耳挠腮了
二. 另一个使用得比较多的#pragma参数是code_seg。格式如:
#pragma code_seg( [ [ { push | pop}, ] [ identifier, ] ] [ "segment-name" [, "segment-class"&nbs......
pragma指令(2006-06-20 00:31:00)
摘要:
pragma指令简介
pragma指令简介
在编写程序的时候,我们经常要用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作.
下面介绍了一下该指令的一些常用参数,希望对大家有所帮助!
一. message 参数。
message
它能够在编译信息输出窗口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为:
#pragma message("消息文本")
当编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。
当我们在程序中定义了许多宏来控制源代码版本的时候,我们自己有可能都会忘记有没有正确的设置这些宏,此时我们可以用这条指令在编译的时候就进行检查。假设我们希望判断自己有没有在源代码的什么地方定义了_X86这个宏可以用下面的方法
#ifdef _X86
#pragma message("_X86 macro activated!")
#endif
当我们定义了_X86这个宏以后,应用程序在编译时就会在编译输出窗口里显示"_X86 macro activated!"。我们就不会因为不记得自己定义的一些特定的宏而抓耳挠腮了
二. 另一个使用得比较多的#pragma参数是code_seg。格式如:
#pragma code_seg( [ [ { push | pop}, ] [ identifier, ] ] [ "segment-name" [, "segment-class" ] )
该指令用来指定函数在.obj文件中存放的节,观察OBJ文件可以使用VC自带的dumpbi......
有质量的爱情(2006-06-18 12:05:00)
摘要:
在jacy博客上看到这样一个小故事:
“女儿说:“绞绞和我一样,每月家里面也是给600元。但是她的生活质量比我高。她每
天都有零食吃,每周去一次麦当劳,有时候还能去必胜客。”
父亲一算,这样的话,600元根本都不够花。“她是不是去打工了,你不要去耽误学习
。”父亲急忙说。
“没有,她没有去打工,是在谈恋爱。有一次她约会回来对我说。其实她不喜欢那个
男生,只是喜欢他替她埋单而已,我们班上也有几个女生也是一样的。她们还嘲笑我,说
我傻。可惜了这张脸,如果她们有像我这样漂亮能吸引男生的脸。根本不用向家里要钱。
她们会找到愿为她们付费的长期饭票……”
父亲愕然。
放下电话,朋友一分钟都没耽误.给女儿的卡上存了700元钱,又回家发了一个封邮件
。
他在邮件上写着:亲爱的女儿,从这个月起,我每月给你700元的生活费。多出来的1
00元,你可以买零食,去麦当劳,必胜客……记住,任何时候,都要用自己的钱埋单。这
才是有质量的生活。还有,如果你喜欢某个男生,开始谈恋爱,请一定要告诉我。我会每
月再给你增加100元,作为恋爱经费。请你一定要记住,每次约会,不要忘了带上你的钱包
。你要学会并习惯为自己所爱的人埋单,这样你才有资格得到一份有质量的爱情。”http://blog.programfan.com/blog.asp?blogid=2025&columnid=2357......
C语言调用汇编函数问题解答(2006-06-18 01:45:00)
摘要:C语言调用汇编函数问题解答
问:在C:\ti\c5400\dsplib\54x_src目录下看到一些汇编的DSP的运算子程序,在C:\ti\c5400\dsplib\examples目录下看到一些C语言编的调用运算程序的例子,比如C:\ti\c5400\dsplib\examples\add,这个add文件里面有函数是 add(x,y,r,NX, SCALE),\ti\c5400\dsplib\54x_src里面也有个add,是不是用C语言调用的汇编语言的函数?如果是,那C语言函数的参数是怎么回事的,因为在汇编文件里面好象没有看到调用的参数啊?
答:C语言和汇编传递参数的方法一般有两种,公用内存块(包括寄存器)和堆栈的操作模式,Ti的DSP C和汇编中对无参数的函数使用了累加器来传递参数,而带参数的调用中使用了堆栈模式。 如果看C语言编译后的汇编代码可以清楚地看到。
http://purec.binghua.com/viewthread.php?tid=864&extra=page%3D1......
让您的网站也拥有 Google 搜索(2006-06-18 01:22:00)
摘要:
让您的网站也拥有 Google 搜索
让您的网站也拥有 Google 搜索。
//google很早就提供这个功能了,我印象中第一次看到大概是2001年。
“您的网页也想拥有 Google 搜索吗?欢迎输入以下代码片断。您可以根据个人品味对其进行修改,如取消居中,调整其宽度,或改变背景颜色,等等。(但请注意,Google 徽标的背景是白色,而不是透明。)如果您喜欢具有其它背景颜色或大小的 Google 徽标,这里有不同的徽标贴图可供选用。您可以将其中任何徽标替换到以下搜索代码中。”
下面是我根据blog news的大小调整后的搜索代码:(google的示例代码参考链接的内容)
<!-- Search Google --><center><FORM method=GET action="http://www.google.com/search"><TABLE bgcolor="#FFFFFF"><tr><td><A HREF="http://www.google.com/"><IMG SRC="http://www.google.com/logos/Logo_25wht.gif" border="0" ALT="Google" align="absmiddle"></A><INPUT TYPE=text name=q size=21 maxlength=255 value=""><INPUT TYPE=hidden name=hl value=zh-CN><INPUT type=submit name=btnG value="Google 搜索"></td></tr></TABLE></FORM></center><!-- Search Google -->http://www.chinaaspx.com/archive/webdesign/21600.htm......
内存的了解(2006-06-18 01:04:00)
摘要:基本知识
●内存
内存就是存储程序以及数据的地方,比如当我们在使用WPS处理文稿时,当你在键盘上敲入字符时,它就被存入内存中,当你选择存盘时,内存中的数据才会被存入硬(磁)盘。在进一步理解它之前,还应认识一下它的物理概念。
●只读存储器(ROM)
ROM表示只读存储器(Read Only Memory),在制造ROM的时候,信息(数据或程序)就被存入并永久保存。这些信息只能读出,一般不能写入,即使机器掉电,这些数据也不会丢失。ROM一般用于存放计算机的基本程序和数据,如BIOS ROM。其物理外形一般是双列直插式(DIP)的集成块。
●随机存储器(RAM)
随机存储器(Random Access Memory)表示既可以从中读取数据,也可以写入数据。当机器电源关闭时,存于其中的数据就会丢失。我们通常购买或升级的内存条就是用作电脑的内存,内存条(SIMM)就是将RAM集成块集中在一起的一小块电路板,它插在计算机中的内存插槽上,以减少RAM集成块占用的空间。目前市场上常见的内存条有4M/条、8M/条、16M/条等。
●高速缓冲存储器(Cache)
Cache也是我们经常遇到的概念,它位于CPU与内存之间,是一个读写速度比内存更快的存储器。当CPU向内存中写入或读出数据时,这个数据也被存储进高速缓冲存储器中。当CPU再次需要这些数据时,CPU就从高速缓冲存储器读取数据,而不是访问较慢的内存,当然,如需要的数据在Cache中没有,CPU会再去读取内存中的数据。
当你理解了上述概念后,也许你会问,内存就是内存,为什么又会出现各种内存名词,这到底又是怎么回事呢?
在回答这个问题之前,我们再来看看下面这一段。
物理存储器和地址空间
物理存储器和存储地址空间是两个不同的概念。但是由于这两者有十分密切的关系,而且两者都用B、KB、MB、GB来度量其容量大小,因此容易产生认识上的混淆。初学者弄清这两个不同的概念,有助于进一步认识内存储器和用好内存储器。
物理存储器是指实际存在的具体存储器芯片。如主板上装插的内存条和装载有系统的BIOS的ROM芯片,显示卡上的显示RAM芯片和装载显示BIOS的ROM芯片,以及各种适配卡上的RA......
直接访问内存[显存]地址(2006-06-18 00:33:00)
摘要:
通过/dev/mem设备文件和mmap系统调用,可以将线性地址描述的物理内存映射到进程
的地址空间,然后就可以直接访问这段内存了。
比如,标准VGA 16色模式的实模式地址是A000:0000,而线性地址则是A0000。设定显
存大小为0x10000,则可以如下操作
mem_fd = open( "/dev/mem", O_RDWR );
vga_mem = mmap( 0, 0x10000, PROT_READ | PROT_WRITE, MAP_SHARED,
mem_fd, 0xA0000 );
close( mem_fd );
然后直接对vga_mem进行访问,就可以了。当然,如果是操作VGA显卡,还要获得I/O
端口的访问权限,以便进行直接的I/O操作,用来设置模式/调色板/选择位面等等
在工控领域中还有一种常用的方法,用来在内核和应用程序之间高效传递数据:
1) 假定系统有64M物理内存,则可以通过lilo通知内核只使用63M,而保留1M物理内
存作为数据交换使用(使用 mem=63M 标记)。
2) 然后打开/dev/mem设备,并将63M开始的1M地址空间映射到进程的地址空间。
http://www.fairysky.org/index_Article_Content.asp?fID_ArticleContent=48......
青春与使命(2006-06-17 23:49:00)
摘要: 青春的使命
青春是什么?难道是携子之手,浪漫而温馨地漫步于桃红柳绿之中吗?难道是把头发染成五颜六色,在大街上旁若无人地大跳千奇百怪的街舞吗?难道是无休止地泡吧,疯狂地蹦迪吗?有些人一直在成长的十字路口徘徊。但是,我要问:难道青春仅仅就只剩下这些了吗?青春可以是远大的志向和崇高的理想;青春还可以是面对峰回路转,霹雳斩棘,举步探索的毅力。
青春不仅仅是一声声的赞美,它更是拥有使命并为之奋斗不息的源泉。因为生命的光环一个个被践踏的躯体赋予了新的灵魂;因为青春的绚丽,一个个飞舞的思绪会聚成一首悲壮的挽歌。
时光的老人又一次送来了五月,迎来了又一个“五四”青年节。在这阳光灿烂,安宁详和的幸福生活之时,我不禁想起了那些曾为中华民族的民主、科学、独立而抛头颅洒热血的青年们,是他们,在民族遭受屈辱的时刻挺身而出,以力挽狂澜之势救黎民于苦难。在斗争中,青年们敢于直面惨淡的人生,敢于正视淋漓的鲜血,他们以燃烧的激情和鲜血凝聚成精神的火炬,点燃了未来。这种青春是多么绚丽夺目呀,这种使命是多么震撼人心啊!
青春是美好的,没有使命感的青春便是贫血的青春。青年是祖国的未来,是民族的希望。在任何一个时代,青年都是社会上最富有朝气最富有创造性、最富有生命力的群体。我们要怎样才能实践自己肩负的历史使命,怎么样才能使自己的青春光彩照人呢?
放眼看吧,在我们社会主义现代化建设的征途中,涌现出许多新时代青年的楷模。从伟大的共产主义战士雷锋到以服务祖国需要为乐的王杰,从自学成才的张海迪到科技创新的秦文贵……他们在平凡的岗位上,用五四精神诠释了青春的使命!演绎了一幕幕惊天动地的话剧!谱写了一曲曲壮丽雄浑的青春赞歌!
作为新世纪的我们,要树立远大的理想,人的一生只能享受一次青春,当一个人在年轻是就把自己的人生与人民的事业紧紧相连,他所创造的就是永恒的......
让青春飞扬(2006-06-17 23:48:00)
摘要:朋友:
时常听别人哼唱,自己也时常哼唱着姜育恒的那首《再回首》,惟独对“曾经在幽幽暗暗反反复复中追寻,才知道平平淡淡从从容容是最真”这一句不愿认同。“孤独王子”唱得未免太超然了--一生反复追寻,就只得出了平淡是真的结论。
平平淡淡是最真,说到底不就是自甘平庸、自甘无为吗?曾几何时,我们这些带着中学彩色梦走进大学校门的莘莘学子们也在高喊着:平平淡淡是最真。且有人认为只要“与世无争,恬淡一生”便可无忧无虑地生存,颇有要把老庄的“无为”思想发扬广大之势。是什么使我们丰富的校园生活渐退了缤纷的色彩呢?又是什么使我们真实的熔浆凝固,不在有来自内心深处的热血沸腾?是因为我们没有走进梦想中的象牙塔?是因为我们未走出自我困惑的地带?还是因为我们的心真的不在年轻,确实把一切都看得平淡了呢?不!都不是!主宰世界的是你,放弃世界的仍然是你。
生活得最好的人,不是寿命最长的人,而是最能感受生活的人。除了你没有走进理想的大学,除了你没有把握住一次几乎成功的爱情,除了你心中那份虚荣于倨傲,你对生活究竟有多少正确的感受?生活究竟给过你多少真正的重荷于不平呢?没有!只因为在当代的中国,在我们这个文盲、半文盲数以亿计的国度里,大学生既被社会过高的期待,也过高地期待着社会,只因为我们不能正确地估计自己,也不能正确认识社会。那种求平淡的心态,仍是不思进取的借口。于是,你曾经也想要有所作为,却不知道从何做起,跟着感觉走,在各种诱惑面前远离本真状态,被泥沙俱下的时代大潮裹挟着四处漂流。当你疲倦地走过无数个三百六十五里,你才发现留在身后的除了那份平淡,什么也没有。
不再回头的,不只是那古老的辰光,也不只是那些个夜晚的星群和月亮,还有我们的青春在流逝着。四年,我们有幸拥有着这四年,但多少人的四年已一去不返;更还有多少人在为能拥有这四年而埋头于题海和各种各样的模拟考试中呢、当初我们从他们这种状况中走出来,走进许多人梦寐以求的大学,难道就是为了追求“平平淡淡是最真”吗?
在我们四年的每个日子里,倾注了亲人的多少关怀和温暖,他们流淌着辛勤的血汗,默默地支持着子女的选择,他们惟一的希望就是我们能自己走自己的人生之路。......
MATLAB(2006-06-17 21:16:00)
摘要:MATLAB常用命令
小整理:MATLAB常用的基本数学函数
abs(x):纯量的绝对值或向量的长度
angle(z):复数z的相角(Phase angle)
sqrt(x):开平方
real(z):复数z的实部
imag(z):复数z的虚部
conj(z):复数z的共轭复数
round(x):四舍五入至最近整数
fix(x):无论正负,舍去小数至最近整数
floor(x):地板函数,即舍去正小数至最近整数
ceil(x):天花板函数,即加入正小数至最近整数
rat(x):将实数x化为分数表示
rats(x):将实数x化为多项分数展开
sign(x):符号函数 (Signum function)。
当x<0时,sign(x)=-1;
当x=0时,sign(x)=0;
当x>0时,sign(x)=1。
rem(x,y):求x除以y的馀数
gcd(x,y):整数x和y的最大公因数
lcm(x,y):整数x和y的最小公倍数
exp(x):自然指数
pow2(x):2的指数
log(x):以e为底的对数,即自然对数或
log2(x):以2为底的对数
log10(x):以10为底的对数
===============================================
小整理:MATLAB常用的三角函数
sin(x):正弦函数
cos(x):馀弦函数
tan(x):正切函数
asin(x):反正弦函数
acos(x):反馀弦函数
atan(x):反正切函数
atan2(x,y):四象限的反正切函数
sinh(x):超越正弦函数
cosh(x):超越馀弦函数
tanh(x):超越正切函数
asinh(x):反超越正弦函数
acosh(x):反超越馀弦函数
atanh(x):反超越正切函数
===============================================
变数也可用来存放向量或矩阵,并进行各种运算,如下......