| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1523 人关注过本帖
标题:DEV-C++怎么链接文件
只看楼主 加入收藏
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:16 
DEV-C++怎么链接文件
有三个文件,第一个是头文件,声明了函数原型、定义了变量结构体等
            第二个是.c文件,定义了函数
            第三个是要运行的.c文件,调用函数,显示结果
编译显示链接错误,怎么才能把两个.c文件链接起来。。
搜索更多相关主题的帖子: 结构体 
2015-09-09 15:16
李掌柜
Rank: 6Rank: 6
等 级:侠之大者
帖 子:94
专家分:406
注 册:2015-6-18
收藏
得分:0 
多文件得建工程,,

照片是可以做成小游戏的,快来私聊我吧!
2015-09-09 15:20
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
回复 2楼 李掌柜
图片附件: 游客没有浏览图片的权限,请 登录注册

建了工程了,还是不得行啊

[ 本帖最后由 w906414 于 2015-9-9 15:35 编辑 ]
2015-09-09 15:34
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:0 
看看你的源代码咯
2015-09-09 15:45
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
回复 4楼 hjx1120
程序代码:
//names_st.h
#define SLEN 32
struct names_st{
    char first[SLEN];
    char last[SLEN];
};
void get_names(struct names_st *);
void show_names(const struct names_st*);

//names_st.c
#include<stdio.h>
#include "names_st.h"
void get_names(struct names_st*p)
{
    int i;
    printf("Please enter your first name:");
    fgets(p->first,SLEN,stdin);
    i=0;
    while(p->first[i]!='\n'&&p->first[i]!='\0')
        i++;
    if(p->first[i]=='\n')
        p->first[i]='\0';
    else
        while(getchar()!='\n')
            continue;
    printf("Please enter your last name:");
    fgets(p->last,SLEN,stdin);
    i=0;
    while(p->last[i]!='\n'&&p->last[i]!='\0')
        i++;
    if(p->last[i]=='\n')
        p->last[i]='\0';
    else
        while(getchar()!='\n')
            continue;
}
void show_names(const struct names_st*p)
{
    printf("%s %s\n",p->first,p->last);
}

书上的代码
2015-09-09 16:46
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:0 
不是说三个文件嘛?
2015-09-09 17:26
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
到底是 names_st.c 还是 names_st.cpp?
3楼是后者,5楼又是前者。

另外,你是以c编译它们,还是以c++编译它们,还是混编?如果是混编,google一下 extern "C" 的用法
2015-09-09 17:51
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
回复 6楼 hjx1120
。。。主程序在图片里就没贴
程序代码:
#include<stdio.h>
#include "names_st.h"
int main(void)
{
    struct names_st cand;
    get_names(&cand);
    printf("Let us welcome");
    show_names(&cand);
    puts("to this program!");
}
2015-09-09 19:52
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
回复 7楼 rjsp
是c,之前没发现一个是cpp,后来改过来了 还是不行
2015-09-09 19:53
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
以下是引用w906414在2015-9-9 19:53:53的发言:

之前没发现一个是cpp,后来改过来了 还是不行
我怀疑你之前是cpp,于是它当成了C++文件,虽然后来又改为C了
你可以重建一个新工程试试

另外说一下,头文件应该用宏防止重复包含(跟你编译失败无关,只是顺路这么一说)
2015-09-10 11:09
快速回复:DEV-C++怎么链接文件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019521 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved