如何在不使用类的情况下编写库?我想在标题内写下以下函数。这样做的语法是什么?
int added (uint8_t a, uint8_t b){
int r;
r=a+b;
return r;
}
答案 0 :(得分:3)
确保你的.h有警卫。
#pragma once
在标题中声明内联函数:
inline int added (uint8_t a, uint8_t b){
int r;
r=a+b;
return r;
}
声明静态也可以。
static int added (uint8_t a, uint8_t b){
int r;
r=a+b;
return r;
}
或者,如果您的函数很大,或者您有循环依赖,请将其声明仅放在头文件中。
extern int added (uint8_t a, uint8_t b); // extern keyword is optional
和cpp文件中的正文
int added (uint8_t a, uint8_t b){
int r;
r=a+b;
return r;
}
就这么简单。
有些编译器不支持#pragma once
并且为了避免头文件中的声明在编译cpp时出现两次(可能会生成编译器警告和错误),他们会使用宏。
#ifndef FILENAME_H // check if this header file was already read, using a unique macro name
#define FILENAME_H // no. define the unique macro now, so we'll not read this section again
// this section will only be read once.
#endif // end the section protected by FILENAME_H