在c语言同一个文件夹中,main.c使用extern声明在另一个.c中定义好的方法,显示方法undefined
用的啥编译器?2个c文件要一起编译
听起来您的 C 程序中的链接有问题。当 C 程序中有多个源文件时,需要分别编译它们,然后将它们链接在一起以创建最终的可执行文件。
extern关键字用于声明在另一个源文件中定义的方法或变量。当您使用extern声明一个方法时,它告诉编译器该方法在其他地方定义,并且应该在链接时链接进来。但是,如果该方法实际上并未在另一个源文件中定义,则链接器将生成一个错误,指示该方法未定义。
要修复此错误,您需要确保定义该方法的源文件已编译并与程序的其余部分链接。这通常涉及将源文件的名称添加到传递给编译器和链接器的文件列表中。
例如,如果您有一个用于声明在 中定义的方法的源文件main.c,extern您display需要display.c像这样编译并将这两个文件链接在一起:
gcc main.c display.c -o main
这将编译main.c并将display.c它们链接在一起以创建最终的可执行文件main。