最近编译代码, 眼睛扫了一下, 无意中看到一个刺眼的warning:  call will abort at runtime

        回看代码, 果然有误, 虽然通过编译, 但运行时有出错危险。

        在大型代码编译中, 几乎不可能清楚所有warning, 但至少要保证:

        1. 编译出库

        2.  搜索abort, 无对应信息

        3.  搜索runtime, 无对应信息

        4. ldd -r 看一下依赖


        特别是在发布的时候, 尤其要注意这些。  看看下面demo:

#include <iostream>
#include <map>
using namespace std;

int main()
{
	map<int, int> m;
	m[1] = 2;

	map<int, int>::iterator it = m.begin();
printf("hello %d", *it);

}
       编译一下, 呵呵哒, 有call will abort at runtime这个warning





本文转载:CSDN博客