从 Knuth 编译 CWEB 程序

标签 c

我从 Don Knuth 下载了一个 CWEB 程序 — 特别是 http://www-cs-faculty.stanford.edu/~knuth/programs/sliding.w 。 我将 sliding.w 转换为 sliding.c。 现在我尝试使用以下方法编译它:

gcc sliding.c -o sliding

但后来我得到:

./sliding.w:116:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
 main(int argc, char *argv[])
 ^
/tmp/cc9NVnXq.o: In function `main':
sliding.c:(.text+0x2006): undefined reference to `gb_init_rand'
sliding.c:(.text+0x201c): undefined reference to `gb_fptr'
sliding.c:(.text+0x202b): undefined reference to `gb_fptr'
sliding.c:(.text+0x2036): undefined reference to `gb_fptr'
sliding.c:(.text+0x2047): undefined reference to `gb_flip_cycle'
collect2: error: ld returned 1 exit status

有人可以帮助我吗?

最佳答案

第一个问题只是一个警告。 fatal error 是您缺少 gb_ 符号,这些符号在此处定义:

http://ftp.cs.stanford.edu/pub/sgb/gb_flip.w

所以首先需要将 gb_flip.w 编译成 .c 文件,然后将两个 .c 文件一起编译,如下所示:

gcc sliding.c gb_flip.c -o sliding

关于从 Knuth 编译 CWEB 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47491632/

相关文章:

c - 如何在 C 中通过重复生成所有可能的变化

c - gtk+-2.0 的 maemo scrapbox 编译器错误

c - 如何声明一个带有常量变量的指针

c - 以负整数退出 while 循环

c - 轻量级正则表达式解析器

c - pthread_join() 导致段错误

java - java中strtol的等价语句

c - 是否应该将所有预期从二进制文件中读取的结构标记为已打包?

c - fftw 等 ionic 体物理学中的泊松

c - 当结构定义具有指针时分配结构