写一个.h文件

时间:2022-11-12 18:55:40
这个问题里的那个程序wordpool.c,
如果我想写个wordpool.h
是不是这样写?

#define MAX_WORDS 200
#define MAX_SIZE 10

typedef struct _wordPool {
    int counter;        
    char word[MAX_SIZE];        
} WordPool;

int findword(const char *wt);
void add(const char *wp);
void print() ;

11 个解决方案

#1


可以的.

#2


最好是

#ifndef _WORDPOOL_H
#define _WORDPOOL_H

#ifdef  __cplusplus
extern "C" {
#endif

#define MAX_WORDS 200
#define MAX_SIZE 10

typedef struct _wordPool {
    int counter;        
    char word[MAX_SIZE];        
} WordPool;

int findword(const char *wt);
void add(const char *wp);
void print() ;

#ifdef  __cplusplus
}
#endif
#endif /*_WORDPOOL_H*/

避免循环包含和被C++模块调用

#3



#ifdef  __cplusplus
}
#endif

请问这个是什么意思???没有见过,请问高手能解释一下吗?为什么这样子写

#4


保证C和C++的混编能够正常链接

#5


楼主的写法是正确的
但最好在最前面加 #program once  避免被多个文件引用的时候 重复定义

#6


#program once 的移植性不好吧!
#ifndef
#define

#endif

#7


楼主的写法是正确的
但最好在最前面加 #program once 避免被多个文件引用的时候 重复定义


UP

#8


写法正确
写一个.h文件写一个.h文件

#9


楼主的写法是正确的。
改为二楼的写法就符合实际项目要求了。

#10



2楼

#11


保证C和C++的混编能够正常链接
ding~

#1


可以的.

#2


最好是

#ifndef _WORDPOOL_H
#define _WORDPOOL_H

#ifdef  __cplusplus
extern "C" {
#endif

#define MAX_WORDS 200
#define MAX_SIZE 10

typedef struct _wordPool {
    int counter;        
    char word[MAX_SIZE];        
} WordPool;

int findword(const char *wt);
void add(const char *wp);
void print() ;

#ifdef  __cplusplus
}
#endif
#endif /*_WORDPOOL_H*/

避免循环包含和被C++模块调用

#3



#ifdef  __cplusplus
}
#endif

请问这个是什么意思???没有见过,请问高手能解释一下吗?为什么这样子写

#4


保证C和C++的混编能够正常链接

#5


楼主的写法是正确的
但最好在最前面加 #program once  避免被多个文件引用的时候 重复定义

#6


#program once 的移植性不好吧!
#ifndef
#define

#endif

#7


楼主的写法是正确的
但最好在最前面加 #program once 避免被多个文件引用的时候 重复定义


UP

#8


写法正确
写一个.h文件写一个.h文件

#9


楼主的写法是正确的。
改为二楼的写法就符合实际项目要求了。

#10



2楼

#11


保证C和C++的混编能够正常链接
ding~