1. C++调用C语言函数
C语言头文件 c_header.h
#ifndef __C_HEADER_H_ #define __C_HEADER_H_ #ifdef __cplusplus extern "C" { #endif int c_add(int a, int b); void c_print_data(int x); #ifdef __cplusplus } #endif #endif
#include <stdio.h> #include "c_header.h" int c_add(int a, int b) { return a+b; } void c_print_data(int x) { printf("int c_print_data, x is: %d\n", x); }
#include <iostream> #include "c_header.h" using namespace std; void main() { int a=23; int b=32; c_add(a, b); c_print_data(a); }
2. C语言调用C++代码
c++头文件 cpp_header.h
#ifndef _CPP_HEADER_H_ #define _CPP_HEADER_H_ int cpp_add(int a, int b); void cpp_print_data(int x); #endif
#include <iostream> #include "c_header.h" using namespace std; #ifdef __cplusplus extern "C" { #endif int cpp_add(int a, int b) { return a+b; } void cpp_print_data(int x) { cout<<"int the cpp_print_data, x is:"<<x<<endl; } #ifdef __cplusplus } #endif
#include <stdio.h> #include "cpp_header.h" void main() { int a=4; int b=23; printf("result is: %d\n", cpp_add(a, b)); cpp_print_data(a); }
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/jisuanji_wjfioj/article/details/47130905