C文件中引用CPP文件时的问题
unzip.c
中引用validate.cpp
文件中的函数来进行epub
纠错,产生的问题:
1.
validate.cpp
中使用iostream.h,
但是C
中没有这个文件
,所以产生的错误:
2>
正在编译...
2>unzip.c
2>D:\Program
Files\VC\include\cstdio(25) : error C2143:
语法错误:
缺少“{
”(
在“:
”的前面)
2>D:\Program
Files\VC\include\cstdio(25) : error C2059:
语法错误:
“:
”
2>D:\Program
Files\VC\include\cstdio(25) : error C2143:
语法错误:
缺少“{
”(
在“:
”的前面)
2>D:\Program
Files\VC\include\cstdio(25) : error C2059:
语法错误:
“:
”
。。。
2>D:\Program
Files\VC\include\cstdlib(21) : fatal error C1003:
错误计数超过100
;正在停止编译
只要将iostream.h
换成stdio.h
即可。但是这样又带来一个问题,validate.cpp
中用到了memcpy
,这个是在string.h
中,stdio.h
中没有,所以在validate.cpp
中#include <string.h>
2.
validate.cpp
中使用了引用,C
中没有引用,所以将引用改为指针即
可。错误提示:
missing “(“ before &,
提示&
的问题
3.
改好后新的错误:
>unzip.c
2>e:\Hanvon_DRMSDK_1_0_0\DRMSDK\source\Validate.h(46)
: error C2061:
语法错误:
标识符“ReadEndOfCenDirRecord
”
2>e:\Hanvon_DRMSDK_1_0_0\DRMSDK\source\Validate.h(46)
: error C2059:
语法错误:
“;
”
2>e:\Hanvon_DRMSDK_1_0_0\DRMSDK\source\Validate.h(46)
: error C2059:
语法错误:
“类型”
这个错误时由于函数声明
bool
ReadEndOfCenDirRecord
(FILE
*
m_fp
, EndCentralDirectoryRecord
*
m_endCenDirRecord
);
而C
中是没有bool
型的
,所以改成int
型,相应的程序内部return
值做修改。
4.
编译好还是有错误:
2>unzip.c
2>e:\Hanvon_DRMSDK_1_0_0\DRMSDK\source\Validate.h(46)
: error C2143:
语法错误:
缺少“)
”(
在“*
”的前面)
2>e:\Hanvon_DRMSDK_1_0_0\DRMSDK\sou
相关文档:
#include <stdio.h>
long long mod(long long a,long long b)
{
return (a % b + b) % b;
}
struct triple
{
long long d,x,y;
};
long long Euclid(long long a,long long b)
{
if(b == 0)
return a;
else
retu ......
我在写代码的时候喜欢使用宏,不仅使代码看起来整洁,而且用好了还能极大的减轻编码的工作量,但是如果使用不当的话,出了问题查找起来就就非常的难了,下面的总结大部分是从网上看到的,也有一些是我自己在工作中总结出来的。
宏使用中的常见的基础问题
1. 防止一个头文件被重复包含
#ifndef BOD ......
链表定义及操作的源文件:employee.h
//
#pragma once
#ifndef __EMPLOYEE_H__
#define __EMPLOYEE_H__
#include<stdio.h>
#include<malloc.h>
typedef struct employee{
int id;
int age;
int salary;
}EmpType;
typedef struct Node{
EmpType data;
struct Node *next;
}L ......
一 :解决C或C++中的multiple definition of问题
server.cpp
clientp2p.cpp
#include "exception.h"
#include "clientp2p.h"
clientp2p.h
中写有所有的全局变量及其初始化值
和函数声明
1.server.cpp中:
引用
:
#include "clientp2p.h"
int Main(....)
{
...
}
2.clientp ......