合并c/c++程序 要怎么做
本帖最后由 qlzm0o0 于 2012-4-4 00:04 编辑请 问一下,可不可在不知道第二个程序的名字的情况下,把自己写的两个c或c++的程序合并为一个,我主要是想把第二个的"main()"去除并同时把第二个程序做为第一个程序的一个函数进行调用。
[*]删除
(我的目的是想把我自己写的练习都串起来,但我写程序时名字都是乱起的,现在想不起来了。) 可以的
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方法里面调用以前写的函数,不过要注意这些文件要在同一个目录下
1楼误解楼主的意思了.
LZ说的可以办到,可以在当前程序中开个子进程,让字进程执行之前的exe程序.
显然在这个描述中出现了"进程"这个很难理解的概念,我觉得与其去了解进程的概念和调用子进程的办法,不如按照1楼的办法把main函数的名字改了. 大侠们,可以说的再具体些吗,我的基础不是很好,在这里谢谢了. 你把你的个文件上传上来,我帮你改 仰望天上的光 发表于 2012-3-8 13:16 static/image/common/back.gif
1楼误解楼主的意思了.
LZ说的可以办到,可以在当前程序中开个子进程,让字进程执行之前的exe程序.
显然在这 ...
请问一下,你所说的进程在什么地方可以找到教材,我买了FISHC光盘,发现相当的有价值,只是不知道这个进程是在哪个教学里的,我会找到自己学的,谢谢. 麻烦告诉我一下. wAterLoo 发表于 2012-3-10 17:45 static/image/common/back.gif
你把你的个文件上传上来,我帮你改
谢谢,我还没写程序呢,根本就不知道怎么写,而且目录里乱死了{:5_96:}好烦啊!! qlzm0o0 发表于 2012-3-11 17:37 static/image/common/back.gif
请问一下,你所说的进程在什么地方可以找到教材,我买了FISHC光盘,发现相当的有价值,只是不知道这个进程是在 ...
计算机实际上在同时运行很多的程序,进程使得这些程序中的每一个都“以为”整个计算机都是被自己独占访问的。称每个程序都是在一个进程中运行的。你可以认为进程用虚拟的方式模拟了计算机。这样,原本只有一台物理计算机,但由于同时存在许多进程,就存在许多的"虚拟计算机",每个"虚拟计算机"上运行一个程序。
至于深入的教程,建议楼主现阶段不必了解。 仰望天上的光 发表于 2012-3-11 19:34 static/image/common/back.gif
计算机实际上在同时运行很多的程序,进程使得这些程序中的每一个都“以为”整个计算机都是被自己独占访问 ...
我知道你说的这些,但这根我想要编的程序好像不是很对题,我只想做个类似数据库一样的程序把我的练习整理出来,也就是用一个程序删除我所做的C/C++程序的main()并同时把他们存放在一个或几个目录下。只是我想把他们全部都放在同一个大的程序里。
我不知道用什么方法可以删除main()这个东东。谢谢老师这么细心。我平时感觉做程序的人有点冷冰冰,不过老师让我感觉还是满有人情味的。{:7_178:} 长长见识。。。。。。。。 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;
}
{:10_250:}{:10_250:} 不知道名字是什么意思.........
假设有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
{:10_254:}
页:
[1]