导航:首页 > 源码编译 > 函数未定义但是能编译运行

函数未定义但是能编译运行

发布时间:2025-05-13 17:43:25

1. Linux下编写c语言头文件,编译时出现“函数未定义”

出现该错误的原因为编译时只变编译了源文件的一部分,故在链接时无法从编译好的目标代码中找到print函数,所以出错。


根据你的源文件结构,个人推荐先单独编译源文件为多个object文件,再统一链接。

方法如下

gcc-cmain.c#-c参数的作用是让gcc只编译,不链接
gcc-ctest.c
gcc-omainmain.otest.o#将编译好的目标代码链接

当然,以上是在gcc为编译器的前提下执行,如使用clang等其他编译器,方法类似(clang的调用方法与gcc高度兼容)

2. main()函数未定义是怎么回事

这类错误是编译器找不到指定的符号定义。它是在连接的时候出现的,有两种可能:

1、你写的这个函数只有省名,没有定义。

2、这个函数是动态连接库导出的函数,而你没有连接它的lib库文件可以用“#pragma comment(lib, "那个库.lib")”编译命令或设置VC的lib文件路径。

仔细查看代码是构建了main函数的,但是如下代码:(红框位置)

(2)函数未定义但是能编译运行扩展阅读:

C++函数分类:(main()函数是可执行程序的入口函数)

一、从用户使用的角度看,函数有两种:

1、标准函数,即库函数。这是由系统提供的。

2、用户自定义的函数。可以解决用户的专门需要。

二、从函数的形式看,函数分两类:

1、无参函数。printstar和print_message就是无参函数。在调用无参函数时,主调函数并不将数据传送给被调用函数,一般用来执行指定的一组操作。

2、有参函数。在调用函数时,在主调函数和被调用函数之间有数据传递。也就是说,主调函数可以将数据传递给被调用函数使用,被调用函数中的数据也可以带回来供主调函数使用。

阅读全文

与函数未定义但是能编译运行相关的资料

热点内容
百度服务器做什么 浏览:192
打开软件加速服务器有什么危害 浏览:87
php去除数组下标 浏览:794
ipad的app内容哪里看 浏览:284
遇见空间app在哪里 浏览:547
用命令对一个文件内容进行统计 浏览:317
华为交换机配置命令缩写 浏览:344
链接服务器出现问题怎么处理 浏览:833
华为手机怎么打开加密 浏览:676
开利中央空调压缩机 浏览:742
程序员面临脱发 浏览:872
javaweb管理系统源码下载 浏览:732
android重力感应权限 浏览:87
贷款房照解压样本 浏览:490
怎样辨别短视频源码 浏览:198
金茶杯借款app是哪里的 浏览:698
大智慧macd指标源码 浏览:382
git建仓时如何选择本地服务器 浏览:49
编译完elf文件被删除 浏览:805
python抓取京东价格 浏览:110