- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
#pragma 预处理指令详解 3.11 #pragma pack([[{ push|pop },][identifier, ]][n]) 若不同的组件使用pack编译指示指定不同的紧凑对 齐, 这个语法允许你把程序组件组合为一个单独的转换 单元。 带push参量的pack编译指示的每次出现将当前的紧 凑对齐存储到一个内部编译器堆栈中。 编译指示的参量表从左到右读取。如果你使用push, 则当前紧凑值被存储起来; 值是一样的。 * #pragma 预处理指令详解 如果你给出一个n 的值, 该值将成为新的紧凑值。若指 定一个标识符, 即你选定一个名称, 则该标识符将和这 个新的的紧凑值联系起来。 带一个pop参量的pack编译指示的每次出现都会检索 内部编译器堆栈顶的值,并且使该值为新的紧凑对齐值。 如果使用pop参量且内部编译器堆栈是空的,则紧凑值为 命令行给定的值, 并且将产生一个警告信息。 * #pragma 预处理指令详解 若使用pop且指定一个n的值, 该值将成为新的紧凑 值。若你使用pop 且指定一个标识符, 所有存储在堆栈 中的值将从栈中删除, 直到找到一个匹配的标识符, 这 个与标识符相关的紧凑值也从栈中移出, 并且这个仅在 标识符入栈之前存在的紧凑值成为新的紧凑值。如果未 找到匹配的标识符, 将使用命令行设置的紧凑值, 并且 将产生一个一级警告。缺省紧凑对齐为8 。 pack编译指示的新的增强功能让你编写头文件, 确保 在遇到该头文件的前后的紧凑对齐。 * #pragma 预处理指令详解 3.12 栈内存对齐 在vc6中栈的对齐方式不受结构成员对齐选项的影 响。它总是保持对齐,而且对齐在4字节边界上。 四、编译器对#pragma指令的解释 每个编译器对#pragma的实现不同,在一个编译器中 有效在别的编译器中几乎无效。可从编译器的文档中查 看。 * * C++Builder工程的基本结构 一、工程 1.1 工程概念 工程是为了实现特定功能所需的文件 集合。 这个集合是一个特殊的文件夹,由工程 文件进行描述和管理。 * 1.2 工程的要素 窗体 单元 资源 选项 C++Builder工程的基本结构 * C++Builder工程的基本结构 1.3 项目的 主要文件 工程描述文件(*.bpr) 窗体文件(*.dfm) 单元文件(*.cpp) 资源文件(*.res) 工程代码文件(*.cpp) * 主 要 文 件 简 介 工程描述文件 (.bpr) 新建工程时由系统自动创建 单元文件 (.cpp) 一个窗体有一个单元。单元文件可以 没有窗体,用以保存公共元素。 窗体文件 (.dfm) 用于记录窗体及窗体上控件的基本信息 资源文件 (.res) 保存图标、位图等信息 工程代码文件 (*.cpp) 新建工程时由系统自动创建 头文件(*.h),类定义文件 * 1.3.1 工程描述文件 工程描述文件的作用:用于描述宏定义,编译选项, 连接选项,文件清单等。结构如下: ?xml version=1.0 encoding=utf-8 ? !-- C++Builder XML Project -- PROJECT MACROS ...... /MACROS C++Builder工程的基本结构 C++Builder工程的基本结构 OPTIONS /OPTIONS LINKER ...... /LINKER FILELIST ...... /FILELIST ....... /project * * 1.3.2 工程代码文件 整个工程的总入口,用于初始化工程,创建窗体, 启动工程。示例代码如下: #include vcl.h #pragma hdrstop USEFORM(Unit1.cpp, Form1); WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { C++Builder工程的基本结构 C++Builder工程的基本结构 try{ Application-Initialize(); Application-CreateForm(__classid(TForm1), Form1); Application-Run(); }catch (Exception exception){ Application-ShowE
您可能关注的文档
- X射线物相定量素材.ppt
- 氯氢处理设备能力核算研讨.doc
- BTS3900A硬件结构与原理_issue_1.0解答.ppt
- 力学性能09素材.ppt
- BTS扩容工程施工流程解答.ppt
- 氯乙烯合成题库研讨.doc
- 民用建筑动力设计简介(燃气、锅炉、柴油发电机等系统)范例.ppt
- X射线吸收光谱-福建素材.ppt
- bx发动机原理3解答.ppt
- 滤清器培训研讨.ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
文档评论(0)