extern "C"问题
/*-----------c.h--------------*/
#ifndef _C_H_
#define _C_H_
extern "C" int add(int x, int y);
#endif
/*-----------c.c--------------*/
int add(int x, int y){
return x+y;
}
/*-----------cpp.cpp--------------*/
#include "c.h"
void main()
{
add(1, 0);
}
这三个文件放在同一目录下,用VC6打开cpp.cpp文件编译成功,运行失败,为什么?怎么改?
/*-----------c.cpp--------------*/
int add(int x, int y){
return x+y;
}
没用啊,最好不该文件名
extern C表明以C调用方式执行,你本身就是C代码,加这个干什么?
好像要加也要在cpp里面加
C/C++ code:
/*-----------c.h--------------*/
extern int add(int x, int y);
/*-----------c.c--------------*/
int add(int x, int y){
return x+y;
}
/*-----------cpp.cpp--------------*/
#include "c.h"
int main()
{
add(1, 0);
return 0;
}
试试
C/C++ code:
/*-----------c.h--------------*/
#ifndef _C_H_
#define _
相关问答:
C/C++ code:
#include <stdio.h>
typedef struct node{
int *key;
int length;
}node;
void insert(node &temp,int n)
{
int i,j;
for(i=0;i<=temp.length;i++)
{
......
#include <string.h>
#include <stdio.h>
void main()
{
int i;
char buf[]="abcde";
strncpy(buf,"abc",3);
for(i=0;i <5;i++)
printf(&q ......
13个人围成一圈,从第一个人开始顺序报号1,2,3。凡报到3者退出圈子,找出最后留在圈子中的人原来的序号
结果应该是13 可我的程序的结果是11 希望好心人帮改一下
#include <stdio.h>
#include < ......
问题描述:
有一简单的C程序,如下:
void foo ( ) {
int i ;
p r i n t f ( "%d " , i ++);
}
int main ( ){ int j ;
for ( j = 0 ; j < 1 0 ; ++j ) foo ( ) ;
}
函 ......
有这样两个问题,希望高手指点:
第一:
struct struct_A{
int a;
char b;
int c;
short d;
}
struct struct_B{
int a;
char b;
short c;
......