几个 C/C++ 的问题备忘

2018-07-05  本文已影响8人  72ae6551aa0d

整理以前的笔记本,看到几个 C/C++ 问题的记录,感觉都有点忘了,编程这个东西有艺术性,但是多数的时候也不外乎“熟尔”。

  1. F : 如何判断编译器是否支持 C99

    Q : __STDC_VERSION__ >= 199901L

  2. sizeofextern的问题

    定义了一个extern int array[];时,不能使用sizeof(array),因为sizeof编译阶段进行的,而编译阶段array的类型的不完整的,无法得到大小。

  1. 一个最简单的 C 语言单元测试框架(是的,只有 3 行),测试点自己写的小代码还是很有用处的。出处是 JTN002 - MinUnit -- a minimal unit testing framework for C

    /* file: minunit.h */
    #define mu_assert(message, test) do { if (!(test)) return message; } while (0)
    #define mu_run_test(test) do { char *message = test(); tests_run++; \
                                 if (message) return message; } while (0)
    extern int tests_run;
    

其实是想说纯 C 的测试框架,特别是支持 VS 的,没有见过什么靠谱的。国人的一个 lcut 看起来还蛮活跃的(看来这条笔记确实是很老了!),有时间可以看看。要是 C++ 的话还是比较喜欢 Google Test

上一篇下一篇

猜你喜欢

热点阅读