我正在 Linux 上用 C 处理这个文件:
#include "headerFiles.h"
#define TRUE 1
#define FALSE 0
#define BUFSIZE 256
#define SERVER_PORT 8887
int main (int argc, char *argv[])
{
signal(SIGCHLD, SIG_IGN);
int ls; // listen socket
int s; // descrittore socket
int n; // byte letti inviati
int waitSize; // massimo numero persone in coda
struct sockaddr_in serverAddr;
struct sockaddr_in clientAddr;
int clientAddrLen = sizeof( clientAddr );
memset(&serverAddr,0,sizeof(serverAddr));
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
serverAddr.sin_port = htons(SERVER_PORT);
if( (ls = socket(AF_INET,SOCK_STREAM,0)) < 0) {
perror("Errore: creazione della socket di asolto fallita!");
exit(1);
}
int so_reuseaddr = TRUE;
if( fork() == 0) {
//---------------------------------------------------//
//CODICE
while (1) {
char cmd[BUFSIZE];
char var1[BUFSIZE];
char var2[BUFSIZE];
char string[100];
memset(cmd, 0, sizeof(cmd));
memset(var1, 0, sizeof(var1));
memset(var2, 0, sizeof(var2));
memset(string, 0, sizeof(string));
}
}
close(s);
exit(0);
}
Run Code Online (Sandbox Code Playgroud)
这段代码代表 C 上的迷你服务器,但我遇到了这个问题:How do I check if I have default gcc compiler options?
因为,例如,在 Mac 上我会收到一些警告,而在 Linux 上则不会。
更新:
为了编译,我使用这个 makefile:
elaborato: *.c *.h
gcc *.c -o elaborato
Run Code Online (Sandbox Code Playgroud)
当我执行它时,我会:./elaborato
我想使用默认的 gcc 设置来编译这个程序。这个就够了吗?
需要注意的一件事是,您的 gcc 版本很可能不同。如果运行 gcc -v,您将看到系统上启用的标志。例如:
gcc -v -o t9 t9.c
Run Code Online (Sandbox Code Playgroud)
为我显示了一堆这样的行:
Apple LLVM version 7.0.0 (clang-700.0.72)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" \
-cc1 -triple x86_64-apple-macosx10.10.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage \
-emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name t9.c \
-mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose \
-munwind-tables -target-cpu core2 -target-linker-version 253.2 -v -dwarf-column-info \
-resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.0 \
-fdebug-compilation-dir /Users/bruce/test -ferror-limit 19 -fmessage-length 193 \
-stack-protector 1 -mstackrealign -fblocks -fobjc-runtime=macosx-10.10.0 \
-fencode-extended-block-signature -fmax-type-align=16 -fdiagnostics-show-option \
-fcolor-diagnostics -o /var/folders/kl/kz62dj0j3zx7zvdgs7w005_w0000gn/T/t9-e101bb.o -x c t9.c
clang -cc1 version 7.0.0 based upon LLVM 3.7.0svn default target x86_64-apple-darwin14.5.0
Run Code Online (Sandbox Code Playgroud)
除了选项都在很长的一行上,而不是如图所示换行。