错误:";程序入口点……”;使用gcc/cygwin编译后运行exe时

错误:";程序入口点……”;使用gcc/cygwin编译后运行exe时,c,windows,gcc,cygwin,C,Windows,Gcc,Cygwin,我正在学习c语言,我正在使用code::block 我写了这段代码“来自ANSIC手册” #包括 #包括 浮点数转换器(浮点数f); int main() { int start=0; int步长=5; 整数上限=300; printf(“%3c\t%6c\n”、“F”、“C”); while(开始

我正在学习c语言,我正在使用code::block

我写了这段代码“来自ANSIC手册”

#包括
#包括
浮点数转换器(浮点数f);
int main()
{
int start=0;
int步长=5;
整数上限=300;
printf(“%3c\t%6c\n”、“F”、“C”);
while(开始<上){
printf(“%3d\t%6.3f\n”,开始,convertToCelsius(开始));
开始+=步进;
}
返回0;
}
浮点转换器Tocelsius(浮点f){
返回(5.0/9)*(f-32);
}
当我从IDE“code::blocks”运行代码时,它编译并运行时不会出现问题 但是当我在cygwin中使用gcc编译c文件并尝试运行exe文件时,它给了我以下消息

在中找不到程序入口点uuu cxa_atexit 动态链接库C:\cygwin\home\username\convert.exe

我已经搜索过了,但找不到相关的直接答案


问题出在哪里?

您用来构建它的编译行是什么?gcc convert.c-o convert.exe不再学习ANSI-c了!那有一些不受欢迎的习语。学习C11或至少C99。我正在阅读丹尼斯·里奇的《C编程语言》。如果这本书不是最新的,请你推荐另一本给我好吗!它在我的小天鹅版本上运行得很好。我猜Cygiwn没有正确安装某些东西。
#include <stdio.h>
#include <stdlib.h>

float convertToCelsius(float f);

int main()
{
    int start = 0;
    int step = 5;
    int upper = 300;

    printf("%3c\t%6c\n",'F','C');
    while(start < upper){
        printf("%3d\t%6.3f\n", start, convertToCelsius(start));
        start += step;
    }



    return 0;
}

float convertToCelsius(float f){
    return (5.0/9)*(f-32);
}