/****************************************************************** * @file showc.h * @version v1.0 * @author ymm * @date 2014/2/14 18:46:57 * @brief c 语言中的show实现 * @history * 1、2014/2/14 18:46:57 author ymm 初步完成 ******************************************************************/ #ifndef __SHOWC_H__ #define __SHOWC_H__ void showc(); #endif
/******************************************************************
* @file showc.c
* @version v1.0
* @author ymm
* @date 2014/2/14 18:46:57
* @brief c 语言中的show实现
* @history
* 1、2014/2/14 18:46:57 author ymm 初步完成
******************************************************************/
#include "showc.h"
#include <stdio.h>
void showc()
{
printf("in c,in fun %s\n",__FUNCTION__);
}
OBJ=showc.o
CC=gcc -fPIC
COMBIN=$(CC) -o
COMLIB=$(CC) -shared -o
TARGET=libshowc.so
all:${TARGET} clean
.SUFFIXES: .cpp .c .o .h
${TARGET}:${OBJ}
$(COMLIB) $@ $^
.c.o:
$(CC) -c $*.c
clean:
rm -f *.o core.*
/******************************************************************
* @file main.cpp
* @version v1.0
* @author ymm
* @date 2014/2/14 18:52:39
* @brief c++调用库的测试函数
* @history
* 1、2014/2/14 18:52:39 author ymm 初步完成
******************************************************************/
#include <iostream>
//extern "C"
//{
#include "showc.h"
//}
using namespace std;
int main()
{
showc();
return 0;
}
OBJ=main.o
CC=g++ -fPIC
COMBIN=$(CC) -o
COMLIB=$(CC) -shared -o
LIB=-L../ -lshowc
INCL=-I../
TARGET=main
all:${TARGET} clean
.SUFFIXES: .cpp .c .o .h
${TARGET}:${OBJ}
$(COMBIN) $@ $^ ${LIB}
.cpp.o:
$(CC) -c $*.cpp ${INCL}
clean:
rm -f *.o core.*
#include <iostream>
extern "C"
{
#include "showc.h"
}
using namespace std;
原文:http://blog.csdn.net/yang15225094594/article/details/19208431