/me/home/file1.c containes function definition:
int mine(int i)
{
/* some stupidity by me */
}
Run Code Online (Sandbox Code Playgroud)
我已经宣布了这个功能
/me/home/file1.h
int mine(int);
Run Code Online (Sandbox Code Playgroud)
如果我想使用此功能mine()
在/me/home/at/file2.c
为此,我需要做的就是:
file2.c
#include "../file1.h"
Run Code Online (Sandbox Code Playgroud)
够了吗?可能不是.
做完这么多,当我编译时file2.c
,我得到了undefined reference to 'mine'
用C语言获取当前时间/日期/日/年的最有效方法是什么?由于我必须多次执行,我需要一种真正有效的方法.我在freeBSD上.
提前致谢.
http://www.syslog.cc/ietf/drafts/draft-ietf-syslog-protocol-23.txt
6.2.3.1.实施例在上面的链接提供了不同的时间戳甲酸盐的实例.
我该如何解析这些时间戳C
?
在运行中,任何类型的消息都可以到达,我希望能够解析它.
编程实践书说:
函数宏最严重的问题之一是在定义中出现多次的参数可能会被多次评估; 如果调用中的参数包含带副作用的表达式,则结果是一个微妙的错误.此代码尝试从以下位置实现一个字符测试:
#define isupper(c) ((c) >= 'A' && (c) <= 'Z')
Run Code Online (Sandbox Code Playgroud)
请注意,参数c在宏的主体中出现两次.如果我在这样的上下文中调用supper,
while (isupper(c = getchar()))
Run Code Online (Sandbox Code Playgroud)
然后,每当输入字符大于或等于A时,它将被丢弃并且另一个字符读取以针对Z进行测试.
我不明白如何可以丢弃更大的> = A的字符.
到底kill
是做什么的?
我有一个父进程,它一个接一个地创建100(作为示例)子进程.在任何孩子的工作结束时,我杀了孩子,kill(pid_of_child, SIGKILL)
我在ps
输出中看不到.但是如果父进程出现问题并且我从父进程退出exit(1)
(此时只有1个子进程- 我可以检查它ps
),那时我看到很多<defunct>
进程ppid
是pid
父进程的.
怎么可能?没有kill
彻底杀死孩子的过程?
我找到了答案,SIGCHLD
并wait
为该处理程序设置了一个信号处理程序.这样,每当父进程执行kill
子进程时,就会调用此处理程序并调用它wait
来获取子进程. - 动机是清除进程表条目.
即使没有父进程死亡,我仍然会看到一些子进程持续几秒钟.- 这怎么可能?
我看到了这个ps
.准确地ps -o user,pid,ppid,command -ax
和父母的过程,子过程和失效.
我试图在FreeBSD中编程找到网络接口信息.在linux中,接口列在/ etc/network/interfaces文件中.
FreeBSD中有这样的文件吗?我该如何提取该信息?
头文件cissvar.h有这个定义:
#define CISSQ_REQUEST_QUEUE(name, index)
static __inline void
ciss_initq_ ## name (struct ciss_softc *sc)
{
STAILQ_INIT(&sc->ciss_ ## name);
CISSQ_INIT(sc, index);
}
Run Code Online (Sandbox Code Playgroud)
ciss.c中的实际用法如下所示:
ciss_initq_free(sc);
ciss_initq_notify(sc);
Run Code Online (Sandbox Code Playgroud)
如果有人可以解释这是如何工作的话会很棒.
那么,
1)name指的是"free"或"notify"
2)"index"来自哪里?3)编译器如何在.h和.c之间进行魔术绑定?
函数在失败时返回TRUE,在成功时返回FALSE.
我看到一些这样的功能在这方面做到了这一点:
return return_code != 0;
Run Code Online (Sandbox Code Playgroud)
要么
return (return_code != 0);
Run Code Online (Sandbox Code Playgroud)
在这个函数中,在每个错误情况下,它返回TRUE - 这很好,以及在出错时应该做什么.
但上面的代码表示什么?它是否正在尝试确保return_code为FALSE - 显式?
c ×9
freebsd ×4
defunct ×2
function ×2
process ×2
awk ×1
declaration ×1
exit ×1
header-files ×1
interface ×1
kill ×1
macros ×1
nawk ×1
networking ×1
return-value ×1
scripting ×1
signals ×1
syslog ×1
systemtime ×1
timestamp ×1
unix ×1