【C项目】看我如何避免命名冲突

工程

//my_project.h
#ifndef _MY_PROJECT_H_
#define _MY_PROJECT_H_

//激活项目
#ifdef MY_PROJECT_ACTIVATED

#include 
#include 


#define MY_PROJECT_PUBLIC
#define MY_PROJECT_PRIVATE static


//预处理
MY_PROJECT_PRIVATE char* precompile(char* _code){
     }

//词法分析
MY_PROJECT_PRIVATE char* lex(char* _code){
     }

//语法分析
MY_PROJECT_PRIVATE char* parse(char* _code){
     }

//语义分析
MY_PROJECT_PRIVATE char* seman(char* _code){
     }

//生成字节码
MY_PROJECT_PRIVATE void product_opcode(char* _code){
     }

//运行字节码
MY_PROJECT_PRIVATE void exec_opcode(char* _file){
     }

//编译
MY_PROJECT_PUBLIC void compile(char* _file){
     
	//文件读取
	//
	while(文件没有结束){
     
		product_opcode(seman(parse(lex(precompile(code)))));		
	}
	exec_opcode(file);
}


#endif
#endif

测试

#define MY_PROJECT_ACTIVATED
//

int main(int _argc,char** _argv){
     

	//
	#include "my_project.h"
	compile(_argv[1]);
	//
	return 0;
}

你可能感兴趣的:(C/C++,C,编译器,命名冲突)