c - 计时的宏观问题

标签 c macros

我正在寻找一种创建“无操作”计时的好方法(CPU 对计时无用的操作)。

在这里解释我的问题是我想更改为宏的代码:

int main (void)
{
  int i=0; 

  printf("Start\r\n");
  for(i=0;i<1000;i++); //LINE TO CHANGE TO A MACRO
  printf("Delayed trace\r\n");
  return 0;
}

你有什么想法吗?

提前致谢。

最佳答案

定义这样一个宏的一般方法是:

#define DELAY(amount)       \
do {                        \
    /* method of delay */   \
} while (0)

在你的情况下:

#define DELAY(amount)             \
do {                              \
    int i;                        \
    for (i = 0; i < amount; ++i); \
} while (0)

关于c - 计时的宏观问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15975561/

相关文章:

c - 作业——reader写appender信号量

c - 读取 READ FILE (txt) 时出错

objective-c - 以 (@) 符号为前缀的 Objective-C 宏的含义

c - 文件中带有变音符号的 y

c - 将 Go 函数作为回调传递给 C

c - 我正在尝试打印二进制文件中记录中的最小标记

java - 将突出显示的文本包装到 intellij 上的 System.out.println() 中的快捷方式

c - 关于linux中container_of宏的疑问

json - Lisp 宏 - 如何正确输入类型

c - 宏等价物(C/C++)?