对中很简单的一段代码的疑惑
对<linux 程序设计>中很简单的一段代码的不解
下面这句代码是从书中抄的, 用于对锁文件进行解锁:
在man中, 其原型定义如下:
我的疑问是: 为什么要将unlink的返回值限定为(void)? 反正也没有用一个int型变量来保存其返回值.
将unlink的返回值限定为void有什么用意?
------解决方案--------------------
避免编译器的警告.
------解决方案--------------------
只是一种编程风格,显式告诉你他不要那个返回值
------解决方案--------------------
貌似没有技术上的含义,大概是作者想说这个返回值是没有意义的,还不如定义为void
下面这句代码是从书中抄的, 用于对锁文件进行解锁:
- C/C++ code
(void)unlink( "/tmp/LCK.test");
在man中, 其原型定义如下:
- C/C++ code
#include <unistd.h> int unlink (__const char *__name)
我的疑问是: 为什么要将unlink的返回值限定为(void)? 反正也没有用一个int型变量来保存其返回值.
将unlink的返回值限定为void有什么用意?
------解决方案--------------------
避免编译器的警告.
------解决方案--------------------
只是一种编程风格,显式告诉你他不要那个返回值
------解决方案--------------------
貌似没有技术上的含义,大概是作者想说这个返回值是没有意义的,还不如定义为void