繁体   English   中英

尝试在 VS 代码中运行 c 代码或使用 gcc 错误编译它

[英]Trying to run c code in VS code or compiling it using gcc error

我正在尝试为一所大学学习/培训,但他们拥有的所有示例代码都有一个问题。 例子:

int     ft_putchar(char c);

void    ft_print_alphabet(void)
{
    char    letter;

    letter = 'a';
    while (letter <= 'z')
    {
        ft_putchar(letter);
        letter++;
    }
}

当我尝试在 VS 代码中运行它时,我收到一条错误消息:

c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\BRUNOB~1\AppData\Local\Temp\ccCVxBIA.o:testc.c:(.text+0x14): undefined reference to `ft_putchar' 
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../libmingw32.a(main.o):(.text.startup+0xc0): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status

当我尝试使用“gcc testc.c -o testc”编译文件时出现同样的错误

知道如何解决这个问题吗?

如果您使用 linux 并且我假设您想要使用类似写入的低级别 io,

#include<unistd.h>

int ft_putchar(char c)
{
   // STDOUT_FILENO is 1 or fileno(stdout) from stdio.h
   write(STDOUT_FILENO, &c, 1);
}

void ft_print_alphabet(void)
{
    char letter;

    letter = 'a';

    while (letter <= 'z')
    {
        ft_putchar(letter); // or just call putchar(letter) from stdio.h
        letter++;
    }
}

int main()
{
   ft_print_alphabet();
   return 0;
}

注意:如果您使用的是 windows,请参见此处写入

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM