相关疑难解决方法(0)

如何使用预处理程序指令检查OS?

我需要我的代码根据编译它的操作系统做不同的事情.我正在寻找这样的东西:

#ifdef OSisWindows
// do Windows-specific stuff
#else
// do Unix-specific stuff
#endif
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?有没有更好的方法来做同样的事情?

c operating-system conditional-compilation c-preprocessor

175
推荐指数
7
解决办法
13万
查看次数

如何在 Windows (10) 上写入 NULL 设备/文件,以便我**不能**读回写入的内容?

Windows 确实有一个空设备的概念,例如此处此处此处详细介绍。我能找到的所有示例都是关于重定向流的。

在将脚本从 Linux 移植到 Windows 时,我遇到了一些奇怪的事情:如果nul像文件一样打开,我会写入它,关闭它,重新打开它并读回数据。有时。检查工作目录,我可以看到一个名为 的文件nul正在创建,并且随着我向其中写入数据而不断增长。具有讽刺意味的是,我无法从资源管理器中删除它,只能从命令行中删除它。

如今,Windows 10 附带了 OpenSSH 的本机实现。我想使用一个老技巧:当它查找文件时known_hosts,我想将其指向一个空设备。在 Linux 上,这看起来如下ssh -o UserKnownHostsFile=/dev/null user@host:在 Windows 上,我测试如下ssh -o UserKnownHostsFile=nul user@host:我得到了一个名为nul包含主机的文件。我也尝试过NULnull结果NULL相同。试图指向\Device\Null/Device/Null导致ssh抱怨它无法找到/打开这些文件。

如何在 Windows (10) 上正确使用和/或指向空设备?

windows dev-null

3
推荐指数
1
解决办法
3243
查看次数