Hello World

一个简单的 Hello, World 程序,没有错误检查:

#include <unistd.h> /* For write() and STDOUT_FILENO */
#include <stdlib.h> /* For EXIT_SUCCESS and EXIT_FAILURE */

int main(void) {
        char hello[] = "Hello, World\n";
        
        /* Attempt to write `hello` to standard output file */
        write(STDOUT_FILENO, hello, sizeof(hello) - 1);

        return EXIT_SUCCESS; 
}

并通过错误检查:

#include <unistd.h> /* For write() and STDOUT_FILENO */
#include <stdlib.h> /* For EXIT_SUCCESS and EXIT_FAILURE */

int main(void) {
        char hello[] = "Hello, World\n";
        ssize_t ret = 0;
        
        /* Attempt to write `hello` to standard output file */
        ret = write(STDOUT_FILENO, hello, sizeof(hello) - 1);

        if (ret == -1) {
                /* write() failed. */
                return EXIT_FAILURE;
        } else if (ret != sizeof(hello) - 1) {
                /* Not all bytes of `hello` were written. */
                return EXIT_FAILURE;
        }

        return EXIT_SUCCESS; 
}

编译并运行

如果上面显示的代码(任一版本)存储在文件 hello.c 中,那么你可以使用 c99make 将代码编译到程序 hello 。例如,在严格遵守 POSIX 的模式下,理论上你可以使用以下命令编译和运行程序:

$ make hello
c99 -o hello hello.c
$ ./hello
Hello, World
$

大多数实际的 make 实现将使用不同的 C 编译器(可能是 cc,也许是 gccclangxlc 或其他名称),并且许多将使用更多选项到编译器。显然,你只需在命令行上键入 make 直接执行的命令即可。