(管理制度)C语言编程要点第章程序的编写和编译_第1页
(管理制度)C语言编程要点第章程序的编写和编译_第2页
(管理制度)C语言编程要点第章程序的编写和编译_第3页
(管理制度)C语言编程要点第章程序的编写和编译_第4页
(管理制度)C语言编程要点第章程序的编写和编译_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(管理制度)C语言编程要点第章程序的编写和编译请参见:18.3.最常使用的存储模式有哪些?很少被使用。请参见:18.4.应该使用哪种存储模式?写商用软件。态数据。记住,数组和其它程序结构可通过malloc()和calloc()在程序运行时进行动态分配,它们在本质上并不必须是静态的。请参见:请参见:得多。文件快。程堆中分配内存。请参见:文件中未定义的函数。当它找到一个未定义的外部函数后,它会引入包含该函数定义的目标代码。(obj)。你的可执行代码中将包含一些不需要的代码。因此,将库函数放到各自的源文件中是很重要的——否则会程序。一个库中。{...}{...}voidfunc_three(){...}且把它连接进来。不幸的是,函数func_one()是在包含func_two()函数定义的同一个源文件中被编译的,的目标代码会被连接进来,因为该函数是在它自己的源文件中被编译的。要维护的函数,那么这些函数就无法发放给其它小组成员,因为它们包含在一个源文件中。请参见:18.8.可以把多个库函数包含在同一个源文件中吗?在同一个源文件中,你想要定义多少个函数,就可以定义多个函数,并且可以把它们都包含到一个库中——然而,在小组开发环境中连接程序和共当你在一个源文件中包含多个库函数时,这些函数会被编译到其中的一个函数连接到程序中去时,目标文件中的所有函数都将被连接进来---不管程序是否用到它们。如一个函数,而不必先锁住源文件中的一些函数,然后才能修改源文件中的其它函数。请参见:18.9.为什么要建立一个库?地方而不是几个分散的地方维护你的函数。个模块的大项目中,可以把那些自始至终都要用到的“框架”支持函数包含到请参见:地方而不是几个分散的地方维护你的函数。个模块的大项目中,可以把那些自始至终都要用到的“框架”支持函数包含到请参见:18.10.如果一个程序包含多个源文件,怎样使它们都能正常工作?utility.obj:utility.cmyapp.hcl-cutility.cmyapp,exe:myapp.objutility.objclmyapp.objutility.obj才会被重新连接。译程序文档。成环境会为你记录所有的源文件依赖关系。请参见:•减少一些全局变量;•减少程序的栈;•用动态存储分配技术为数据元素分配动态内态,而不把它们定义为静态型或全局型;•把数据元素说明为远程型而不是近程型。请参见:18.15近程型(near)和远程型(far)的区别是什么?18.12.怎术防止程序用尽内存?如果你使用了大量的静态数据,那么你应该考虑使用动态内存分配技术。通过使用动态内存分配技术(即使用malloc()和calloc()函数),你可以在需要时动态地分配内存,在不需要时释放内存。这种方法有几个好的内存空间。这样,静态和全局变量就不会占用大量的空间。其次,你可以通过检查malloc()和calloc()函数的返回值来掌握内存不足的情况。请参见:18.15近程型(near)和远程型(far)的区别是什么?方式去精心调整覆盖模块。使用覆盖管理程序时,一般不需要修改源代码,在大多数情况下,使用覆盖管理程序对程序来说是透明的。请参见:18.15近程型(near)和远程型(far)的区别是什么?数组、结构等)写到磁盘上,并把它们原来占用的内存空间释放掉(使用free()函数),从而使程序获得更多的数据从磁盘上读到内存中。遗憾的是,这种办法要求编写大量的代码,而且实现起来比较麻烦。存和扩展内存提供一个交换空间。的使用极为普遍。使用扩充内存技术比使用扩展内存技术要慢一些。已经放弃了旧的扩充内存技术,而使用了新的扩展内存技术。在使用扩展内存时,你的程序将获得更高的稳定性和执行速度。一项技术的具体用法。请参见:18.15近程型(near)和远程型(far)的区别是什么?18.15.近程型(near)和远程型(far)的区别是什么?的近程型数据:voidmain(void);{char*near_data;near_data=(char*)malloc((32*1024)*sizeof(char));{printf("Whoopsie!Mallocfailed!\n");exit(l);}strcpy(near_data,"Thisstringisgoingtobe.storedinthenearheap");printf("Addressofnear_data:%P\n",,&near_data);free(near_data);}位于缺省数据段(第一个64KB数据段)以外的数据。下例中的程序从远程型数据区(通常也叫做远程堆)中分voidmain(void);{charfar*far_data;far_data=(charfar*)farmalloc((32*1024)*sizeof(char));if(fardata==(charfar*)NULL){printf("Whoopsie!Farmallocfailed!\n");exit(1);}fstrcpy(fardata,"Thisstringisgoingtobestoredinthefarheap");printf("Addressoffar_data:%Fp\n",&far_data);farfree(far_data);}饰符(far)。此外,你还要注意,从

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论