OSコースを習っています。 私たちはパイプを教えていましたが、このプログラムはGCC 4.4.7でコンパイルされていません。 main
をint main
に変更すると、正常にコンパイルされます。理由は何ですか?このパイププログラムはコンパイルされていません
コマンドライン:gcc pipedemo.c
#include<stdio.h>
#include<sys/types.h>
#include<string.h>
#include<unistd.h>
#include<stdlib.h>
#define BUFFER_SIZE 100
#define READ_END 0
#define WRITE_END 1
main()
{
char source[]="pipe_program";
char dest[BUFFER_SIZE];
char datas[BUFFER_SIZE];
char datar[BUFFER_SIZE];
int fd1[2],fd2[2];
pid_t pid;
if(pipe(fd1)==-1)
{
fprintf(stderr,"Pipe creation failed\n");
exit(0);
}
if(pipe(fd2)==-1)
{
//...
}
//...
}
標準化されていない関数定義の構文を使用する理由がありますか? – MikeCAT
理由は '-Werror'オプションなどです。コマンドラインオプションを公開してもよろしいですか? – MikeCAT
@MikeCAT私は理由はありませんが、デフォルトでは戻り値の型はintなので、書きました。しかし、私はエラーが何であるかを知りたいです。コンパイルではintrestされません。 –