如果buf是一个malloc()分配的字符缓冲区,是否free(buf)设置/重置errno ? 比方说,我想写缓冲区到一个文件,然后释放它,因为我不再需要它。 假设代码的错误政策是在错误时返回-1。 这是一个正确的方法来写出缓冲区和错误检查,而不会泄漏内存? fputs(buf, somefile); free(buf); if (errno) return -1; 或者我需要考虑免费可能设置errno,如… fputs(buf, somefile); if (errno){ free(buf); return -1; } free(buf); 或恐怖的恐怖, do { fputs(buf, somefile); int save_errno = errno; free(buf); errno = save_errno; if (errno) return -1; } while(0); 如果块的使用允许本地save_errno存在于不同的地方,这需要重用。 所有这一切似乎取决于是否free()设置errno。 free()的linux手册页也是malloc()的手册页等。它提到了malloc()设置errno,但不是free() 。 释放dynamic内存的GNU C库手册页没有提及free()是否设置了errno。 所以我写了一个简短的程序来强制写入错误,所以我可以看到如果free()重置errno,而不是。 我想知道是否应该依赖这个结果,而free()是如此必要的事实,“当然它不会设置errno”。 # See if free() resets errno […]
我在Ubuntu 12.10上使用vi 。 有些文件很长,所以当我想要到文件的中间时,我必须向下翻页或向下滚动。 有一个VIM快捷方式去确切的行号?
我只是安装了一个Linux系统(Kubuntu),并想知道是否有一个程序,使Python程序可执行的Linux。
我对Sed一无所知,但是需要这个命令(在Ubuntu上可以正常工作)在Mac OSX上工作: sed -i "/ $domain .*#drupalpro/d" /etc/hosts 我越来越: sed: 1: "/etc/hosts": extra characters at the end of h command
在shell脚本中,后面跟着@符号( @ )是什么意思? 例如: umbrella_corp_options $@
在Windows机器上,有许多第三方编辑器可以编辑二进制文件。 我相信那里应该有一些在* nix系统中的similer buildin。 任何想法如何编辑unix上的二进制文件?
我正在Ubuntu上工作。 我怎么能得到我的机器的MAC地址或接口说eth0使用C程序。
如何以编程方式启用和禁用Linux上特定USB端口的电源? 这样的事情甚至可能吗? (没有 – 见下文) Mac的答案也赞赏! 我正在尝试一个中国银行(不要假装你也没有试图获得一个!),并结束了其中一个,并希望通过连接到我们的服务器显示器来获得一些用途。 更新:这似乎不可能。 所有暂停电源的API基本上都会告诉连接的设备closures,但引脚1上的电源仍然可用,所以这些灯的简单设备不能直接通过编程方式进行控制。 也许提到的枢纽解决scheme将工作。
我有一个关于diff命令的问题,如果我想要一个recursion的目录差异,但只为特定的文件types,如何做到这一点? 我尝试使用排除选项,但只能使用一种模式: $ diff /destination/dir/1 /destination/dir/2 -r -x *.xml 与命令我只能排除xml文件types,即使有文件夹中的图像types( png , gif , jpg png ), txt , php等 如何区分只有某些文件types。
除了这个漫画,我还看到有人写sudo !! 。 什么是sudo砰砰?