- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试执行以下程序-在 APUE.3E -> filedir -> filetype.c
中(这是我下载 APUE.3E 时默认出现的。我没有进行任何更改)
但是当我编译时,这是我收到的错误:
myramya~/Documents/apue.3e/filedir$ gcc filetype.c -lm -o 文件类型
/tmp/cchPKE7K.o:在 main 函数中:
filetype.c:(.text+0x94): 对 err_ret' 的 undefined reference
收集2:错误:ld返回1退出状态
我使用的是 Linux Ubuntu。我已在 Documents 文件夹中安装了 APUE.3E。我有管理员权限。我编写了一个简单的 Hello.c 程序并使用以下命令执行:
$ gcc hello.c -o 你好
并且没有任何问题。
最佳答案
您的 hello 示例可以使用 gcc 一步进行编译,因为它不会调用其他文件中的任何函数(除了始终链接到的标准 C 库中的函数)。
您的 filetype.c 调用了函数 err_ret,该函数不在 filetype.c 中,而是在其他源文件中。
当编译较大的程序时,工作通常分两步完成:首先,通过对每个源文件使用标志 -c 调用 gcc,将源文件编译成目标文件。然后,通过对所有目标文件的 gcc 的一次调用,将所有目标文件链接在一起。还可以将目标文件一起放入库中。通常 Makefile 用于编译更大的项目。
这里很好地解释了您与 apue.3e 的具体情况:https://unix.stackexchange.com/questions/105483/compiling-code-from-apue
关于c - APUE.H Linux C 编程错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36383182/
main 函数与进程终止 众所周知,main 函数为 unix like 系统上可执行文件的"入口",然而这个入口并不是指链接器设置的程序起始地址,后者通常是一个启动例程,它
概览 开门见山先上图 界定一些术语,方便后面说明: GMT:格林威治平均时,太阳每天经过位于英国伦敦郊区的皇家格林威治天文台的时间为中午 12 点,
前言 Unix like 系统和 windows 的最大区别就是有一套标准的系统信息数据文件,一般存放在 /etc/ 目录下,并且提供了一组近似的接口访问和查询信息,这些基础设施让系统管理看起来
请帮我弄清楚以下代码片段有什么问题,它来自 APUE 第 8.6 节(W Richard Stevens,Stephen A Rago Advanced Programming in the Unix
在APUE section 8.3 fork function中,关于父子进程之间的文件共享, 它说:父子共享相同的文件偏移量很重要。 而在 8.9 节 Race Conditions 中,有一个例子
是否有可能构建一台具有 32GB RAM 的机器,并使用大约 28GB 的 OpenCL? 我当前的 APU 是 Athlon 5350,报告的“全局内存大小”为 2142658560。我使用 C
考虑 APUE 书中的以下示例: #include #include int initserver(int type, const struct sockaddr *addr,
sleep2的apue中的代码如下: #include #include #include #include static jmp_buf env_alrm; static void sig_
在图11.2 APUE 2nd中,有一段代码演示了threads API的用法,如下: #include #include pthread_t ntid; void printids(const
书中定义了3个自定义函数: int serv_listen(const char *name); //Returns: file descriptor to listen on if OK, nega
我正在尝试执行以下程序-在 APUE.3E -> filedir -> filetype.c 中(这是我下载 APUE.3E 时默认出现的。我没有进行任何更改) 但是当我编译时,这是我收到的错误: m
哪一个是正确的?1. pthread_mutex_lock ... pthread_cond_broadcast pthread_mutex_unlock 2. pthread_mutex_lock
我正在向APUE3e学习 #include "apue.h" #include int main(int argc, char *argv[]) { DIR *dp; struct
我看了《APUE》,我发现10.11的例子不能创建正确的答案。10.11 文件是: static void sig_quit( int ); int main( void ) { si
#include #include static void charatatime(char *str) { char *ptr; int c; setbuf(stdout,N
我正在学习 APUE 10.3 信号,只是混淆了 SIG_ERR、SIG_DFL 和 SIG_IGN 的定义。这是定义: #define SIG_ERR (void (*)())-1 #defin
是否可以在 A10-7800 上启用 OpenCL,而不将其用于 X 服务器?我有一个用于 GPGPU 编程的 Linux 机器。独立的 GEForce 740 卡用于 X 服务器和运行我开发的 Op
APUE 第 7 章说此代码段将退出,退出代码不是 0(示例中为 13)。但它在我的电脑上以代码 0 退出: #include main() { printf("hello, worl
在“Unix 环境高级编程”的示例中,以下示例程序创建一个文件,然后使用 lseek 将文件指针移动到更远的地址,从而在文件中放置一个“洞”。作者说中间的空格用“0”填充。我想看看那些“0”是否会打印
我有一台配备 AMD E-1800 APU 和 4GB RAM 的 TurboX 笔记本电脑,我将其用于开发目的,但 CPU 运行不佳,我在上面安装了 ubuntu 16.04 amd64。每当我在
我是一名优秀的程序员,十分优秀!