我有這樣一個有趣的問題,我想我會分享給你。魔法C與malloc,叉子和開放
我走投無路下來的最小程序,我可以:
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
int cmd_left(char *name)
{
pid_t pid;
int f_d;
if ((pid = fork()) == -1)
{
perror("");
exit(1);
}
f_d = open(name);
printf("%d\n", f_d);
close(f_d);
}
int main(int ac, char **av, char **env)
{
char **dummy_env;
if (ac < 2)
return (0);
dummy_env = malloc(10);
cmd_left(av[1]);
}
基本上,如果我刪除的malloc,開放的工作就好了。 你只需編譯並給程序一個(有效)文件來看看這個魔法。
你不是指'malloc(10 * sizeof(char *))'? – Joe
不,我只想要最小的東西 –
也請多謝:) –