【发布时间】:2016-01-26 14:07:51
【问题描述】:
我需要在我的代码中使用strncpy_s。代码需要使用 msvc71 以及 msvc90 编译器进行编译。事实证明,strncpy_s 在 msvc71 中不受支持。我已经实现了我自己版本的strncpy_s
所以我想只在编译器是msvc71的时候编译strncpy_s的这个实现。我该怎么做?
【问题讨论】:
-
有一个宏来识别编译器
-
你仍然可以在 msvc90 中使用
strncpy。这比使用条件编译更干净。 -
@iharob - 为什么不呢?如果用户的版本正常工作,它就可以正常工作。
-
@iharob - 嗯,如果用户的版本不是旧编译器的瓶颈,那么没有理由假设它会成为新编译器的瓶颈。然而,交换实现可能成为开发的瓶颈。如果它没有坏,就不要修理它。
标签: c visual-c++