常量C表达式是在编译时还是在运行时评估的?(Are constant C expressions evaluated at compile time or at runtime?)
如果我编写一个使用其他预处理器常量执行操作的#define ,每次宏在运行时出现时计算的最终值是多少? 这是否取决于编译器中的优化,还是包含在标准之下?
例:
#define EXTERNAL_CLOCK_FREQUENCY 32768 #define TIMER_1_S EXTERNAL_CLOCK_FREQUENCY #define TIMER_100_MS TIMERB_1_S / 10
每当我使用TIMER_100_MS宏时,操作32768/10会在运行时发生吗?
我想避免以下情况:
#define EXTERNAL_CLOCK_FREQUENCY 32768 #define TIMER_1_S EXTERNAL_CLOCK_FREQUENCY #define TIMER_100_MS 3276
概要
编译器需要能够计算常量积分表达式,因为它们在编译时需要用于计算诸如数组大小之类的东西。 然而,标准只是说他们“可以” - 而不是“必须” - 这样做。 因此,只有脑死亡编译器才会在编译时计算常量积分表达式,但是对非常规编译器的汇编输出进行简单检查将验证每种情况。
If I write a #define that performs an operation using other preprocessor constants, is the final value computed each time the macro appears at runtime? Does this depend on optimizations in the compiler, or is it covered under a standard?
Example:
#define EXTERNAL_CLOCK_FREQUENCY 32768 #define TIMER_1_S EXTERNAL_CLOCK_FREQUENCY #define TIMER_100_MS TIMERB_1_S / 10
Will the operation 32768 / 10 occur at runtime every time I use the TIMER_100_MS macro?
I would like to avoid the following:
#define EXTERNAL_CLOCK_FREQUENCY 32768 #define TIMER_1_S EXTERNAL_CLOCK_FREQUENCY #define TIMER_100_MS 3276
Summary
A compiler is required to be able to evaluate constant integral expressions because they are necessary for calculating things like array sizes at compile time. However, the standard only says they "can" -- not "must" -- do so. Therefore, only a brain-dead compiler would not evaluate a constant integral expressions at compile time, but a simple check of the assembly output for an unconventional compiler would verify each case.
原文:https://stackoverflow.com/questions/436300
最满意答案
这个并没用到jquery的什么插件,这里面的收货地址都是通过ajax从后台返回的 这样就可以了
其他回答
虽然我很聪明,但这么说真的难到我了
相关问答
更多-
在汶上县城的吉市口佳苑。我去过的
-
谢谢!请采纳!
-
javaweb 网上商城项目适合什么程度的学生做[2022-10-11]
没有框架也可以,servlet+jsp+jdbc就可以实现,适合初学者练手,从中学到一些基础的东西,如果想进一步的话,就需要框架了,比如spring+hibernate等。如果是开发商业项目的话,不太适合初学者,因为需要太多的经验和很高的能力。 -
求个好用的java网上商城源码。[2021-12-17]
有些URL地址需要你 自己手动 修改 谢谢,采纳 -
网上商城的开发流程[2022-01-13]
一、客户提出需求:客户通过电话、电子邮件或在线订单方式提出自己网上商城建设方面的“基本需求”。 涉及内容包括: 1、公司介绍; 2、栏目描述; 3、网站基本功能需求; 4、基本设计要求。 二、设计网上商城建设方案:首先,根据企业的要求和实际状况,设计适合企业的网上商城建设方案。是选择虚拟主机服务,还是自己购置服务器;根据企业风格度身定制;一切根据企业的实际需要选择,最合适的才是最好的。 三、查询申办域名:根据企业的需要,决定是国际域名还是国内域名。域名就是企业在网络上的招牌,是一个名字,并不影响网站的功能和 ... -
自己如何做一个网上商城[2022-05-08]
建独立商城,一般都是用建站程序哦,比如ecshop、shopEX、hishop等开源商城程序.... 如分期商城:承易购 -
京东商城免费试用是真的吗?说只用付邮费[2023-04-03]
是真的.但是给的份数很少.而且贵的那些东西会让自己人去申请 -
京东网上商城的收货地址,用是什么jquery插件[2023-07-23]
这个并没用到jquery的什么插件,这里面的收货地址都是通过ajax从后台返回的 这样就可以了