有关#ifndef ,#ifdef ,能解释下第三句后直接跟的extern "C" {什么意思 这个程序怎么执行的 谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/30 13:02:16
#ifndef DSP281x_EXAMPLES_H
#define DSP281x_EXAMPLES_H

#ifdef __cplusplus
extern "C" {
#endif
#define CPU_RATE 6.667L
#include "DSP281x_GlobalPrototypes.h"
#include "DSP281x_SWPrioritizedIsrLevels.h"
#ifndef DSP28_BIOS
#include "DSP281x_DefaultISR.h"
#endif
#define DELAY_US(A) DSP28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) - 9.0L) / 5.0L)
#ifdef __cplusplus
}
#endif /* extern "C" */

#endif
1.是不是extern "C" 后面跟着的语句都是用C语言来写的,直到遇到#endif语句?
2.extern "C" { 后面直接跟了个#endif ,这句话是把哪个#if**(#ifdef或#ifndef)给结束了

extern "C"用于C和C++混合编程的情况,如果一个C++代码引用C代码,就需要加上这个

回答你的补充问题:
1.对
2.结束了#if和#endif之间的内容

这是告诉编译器下面的内容是c语言编写的,请用c语言的编译方式来编译
c和c++在符号命名上存在差异,所以得告诉编译器当前是哪种语言

以标准C编译方式,