编写没有class和cpp文件的库

时间:2017-06-18 08:55:36

标签: c++

如何在不使用类的情况下编写库?我想在标题内写下以下函数。这样做的语法是什么?

int added (uint8_t a, uint8_t b){
int r;
r=a+b;
return r;
}

1 个答案:

答案 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