我正在为x86或x64 Linux服务器程序员开发一个C ++库。该库不是开源的,编译后的输出应该是静态库(.a)文件。
对于大多数服务器程序员,我应该考虑哪些构建目标?到目前为止,我正在考虑这些:
总组合应为2 * 2 * 2 = 8。
这些足够吗?我应该考虑Ubuntu和CentOS吗?
[1]我使用assert()而不是运行时联结(下面的代码)仅用于一些对性能敏感的函数。在其他情况下,我使用运行时结点。生产代码更需要运行时联结,但它会对非常频繁调用的函数产生性能影响。例如,执行两个结指令和访问m_length所花费的时间比仅访问数组数据要长。
#define runtime_assert(x); { if (g_enableAssert && !(x)) ShowError(#x); }
#ifdef _DEBUG
#define assert(x) runtime_assert(x)
#else
#define assert(x) 0
#endif
bool g_enableAssert = true;
class Array
{
int m_length;
// doing runtime junction
void Set(int index, int value)
{
runtime_assert(index>=0 && index<m_length);
...
}
// using assert
void Set(int index, int value)
{
assert(index>=0 && index<m_length);
...
}
}