鱼C论坛

 找回密码
 立即注册
查看: 3091|回复: 12

合并c/c++程序 要怎么做

[复制链接]
发表于 2012-3-7 22:35:49 | 显示全部楼层 |阅读模式
50鱼币
本帖最后由 qlzm0o0 于 2012-4-4 00:04 编辑

请 问一下,可不可在不知道第二个程序的名字的情况下,把自己写的两个c或c++的程序合并为一个,我主要是想把第二个的"main()"去除并同时把第二个程序做为第一个程序的一个函数进行调用。
  • 删除

(我的目的是想把我自己写的练习都串起来,但我写程序时名字都是乱起的,现在想不起来了。)

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-3-7 23:02:41 | 显示全部楼层
可以的

A.c
#include <stdio.h>
void say();        //注意这是文件Bsay()函数的引用声明,不能少
int main(int argc, char * argv[])
{   
    say();
    return 0;
}

B.c
#include <stdio.h>
void say()
{
    printf("hello,world!");
}

通过这种方式,你可以在main方法里面调用以前写的函数,不过要注意这些文件要在同一个目录下

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-3-8 13:16:10 | 显示全部楼层
1楼误解楼主的意思了.
LZ说的可以办到,可以在当前程序中开个子进程,让字进程执行之前的exe程序.
显然在这个描述中出现了"进程"这个很难理解的概念,我觉得与其去了解进程的概念和调用子进程的办法,不如按照1楼的办法把main函数的名字改了.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-3-10 00:42:43 | 显示全部楼层
大侠们,可以说的再具体些吗,我的基础不是很好,在这里谢谢了.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-3-10 17:45:52 | 显示全部楼层
你把你的个文件上传上来,我帮你改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-3-11 17:37:41 | 显示全部楼层

请问一下,你所说的进程在什么地方可以找到教材,我买了FISHC光盘,发现相当的有价值,只是不知道这个进程是在哪个教学里的,我会找到自己学的,谢谢. 麻烦告诉我一下.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-3-11 17:42:21 | 显示全部楼层
wAterLoo 发表于 2012-3-10 17:45
你把你的个文件上传上来,我帮你改

谢谢,我还没写程序呢,根本就不知道怎么写,而且目录里乱死了好烦啊!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-3-11 19:34:26 | 显示全部楼层
qlzm0o0 发表于 2012-3-11 17:37
请问一下,你所说的进程在什么地方可以找到教材,我买了FISHC光盘,发现相当的有价值,只是不知道这个进程是在 ...

计算机实际上在同时运行很多的程序,进程使得这些程序中的每一个都“以为”整个计算机都是被自己独占访问的。称每个程序都是在一个进程中运行的。你可以认为进程用虚拟的方式模拟了计算机。这样,原本只有一台物理计算机,但由于同时存在许多进程,就存在许多的"虚拟计算机",每个"虚拟计算机"上运行一个程序。
至于深入的教程,建议楼主现阶段不必了解。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-3-12 21:23:02 | 显示全部楼层
仰望天上的光 发表于 2012-3-11 19:34
计算机实际上在同时运行很多的程序,进程使得这些程序中的每一个都“以为”整个计算机都是被自己独占访问 ...

我知道你说的这些,但这根我想要编的程序好像不是很对题,我只想做个类似数据库一样的程序把我的练习整理出来,也就是用一个程序删除我所做的C/C++程序的main()并同时把他们存放在一个或几个目录下。只是我想把他们全部都放在同一个大的程序里。

我不知道用什么方法可以删除main()这个东东。谢谢老师这么细心。我平时感觉做程序的人有点冷冰冰,不过老师让我感觉还是满有人情味的。{:7_178:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-6 15:48:42 | 显示全部楼层
长长见识。。。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-2 14:32:38 | 显示全部楼层
int book_id_test( int id )//这里用bool要加头文件 1表示true 0表示false
{
        struct book * p = head;
        for ( p = head; p; p = p->next )
        {
                if ( p->book_id == id )
                        return 1;
        }
        return 0;
}

void add_book()                             //添加图书信息
{

    struct book *asd;
    asd = (struct book*)malloc(sizeof(struct book));
        printf("请输入书籍编号:\n");
        scanf("%d",&(asd->book_id));
        printf("请输入书籍名称:");
        scanf("%s",asd->book_name);
        printf("请输入书籍作者名字");
        scanf("%s",asd->book_writer);
        while ( book_id_test( asd->book_id ) )
        {
                printf( "输入id以存在请重新输入" );
                fflush( stdin );
                printf("请输入书籍编号:\n");
                scanf("%d",&(asd->book_id));
                printf("请输入书籍名称:");
                scanf("%s",asd->book_name);
                printf("请输入书籍作者名字");
                scanf("%s",asd->book_writer);
        }

    asd->next = NULL;

    if(head == NULL)
    {
        head = asd;
    }
    else
    {
        asd->next=head;
        head=asd;
    }
    return;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-11-13 09:45:15 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-11-24 15:07:21 | 显示全部楼层
不知道名字是什么意思.........
假设有A.c, B.cpp两个文件,可以将A.c做成A.h头文件包含到B.cpp的工程下, 如:
在B的工程中
#include "A.h"
extern "C"
{
A.c
}
..........
extern "C" {}的作用是告诉C++的编译器以C的方式进行编译,记住只能在C++编译中这样做,因为C++兼容C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 18:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表