终于把BloomFilter加到代码里了,前后居然花了两天。编译的主要问题有:
1、把汇编程序嵌入到C++中
2、链接库处理
第一个问题最困扰我,原来从来没有把汇编程序嵌入到c++中。以本次为例,由于要加入sse的汇编指令。步骤如下:
1、写asm格式的指令代码文件,sse的编程guide:http://www.codeproject.com/KB/recipes/sseintro.aspx?display=Print
2、在c++中加入smmintrin.h
3、声明函数,但是要在函数前加上extern "C"以规定这是c编译器编译。这样就能使用函数了,但是编译出了问题。
4、 首先是编译asm文件,之前使用win32编译器编译不通过,于是改成x64,马上编译就通过了。不知道是不是只能在64位机上使用。
至此,编译通过。改成64位的方法:在solution platforms中修改即可。
第二个问题是链接库的错误。
1、我居然撒了吧唧的不知道如果没有把头文件直接载入到工程中,而是include进来的话,需要使用链接技术才能找到这个库。
2、后来知道后,发现由于使用了其它库,而这些库又依赖于更多的库,导致本来使用很小的一段代码,却加了很多库,实在没必要。