没有main()函数的C语言程序

有两种方法可以不添加main()函数来运行C语言程序,第一种用#define预处理指令,第二种是使用-nostartfiles编译选项;

使用#define预处理指令

这种方法严格来说不能说没有main()函数;因为编译器在预处理阶段会将下列代码中的func替换成main再进行编译;

#include <stdio.h>

#define func main

void func(){
    printf("Hello World");
}

使用-nostartfiles编译选项

在编译时使用-nostartfiles编译选项时,编译器将避免标准链接;

#include <stdio.h>

void func(){
    printf("hello world");
}

以上代码在编译时添加-nostartfiles编译选项也能成功编译并能成功运行。

gcc test.c -nostartfiles

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/c-program-without-main-function.html

分类: 计算机技术
推荐阅读:
pg_restore.exe file not found 解决方法 使用pgAdmin时出现类似 pg_restore.exe file not found. Please correct the Binary Path in the Prefer 错误:
Python repr()函数 在Python中,repr()函数用于获取一个对象的字符串表示形式,通常被用于调试和日志记录。这个字符串是可以用来重新创建该对象的一个有效的表达式。
Python 列表(List)的详细用法 列表(list)按特定顺序存储一系列项目。你可以使用索引或在循环中访问项。本问讲述了Python中列表的增加、修改、删除、遍历、复制等基本操作。
pyside6将信号与槽函数进行连接 在本文中,你将了解信号与槽的概念,掌握在Qt Designer中添加槽函数,以及在PySide6中的应用。
Python数组求和 给定一个数组,使用Python进行数组求和;
Linux结束正在锁定文件的进程 在Linux系统下,当你想删除或更改某个文件,却发现该文件正在被某个进程访问,处于锁定状态,导致你无法删除或更改;这时你只需要一条命令即可实现结束这个进程: