Chunel

Results 35 comments of Chunel

后期查证,是因为git中提供的zmq.h文件,与本地 libzmq.a 对应的zmq.h不匹配。将 #include " ****/zmq.h" 指向本地h文件后,功能正常。 记录在这里,供今后踩到同样问题的童鞋参考。感谢作者提供这么好的库。

> 是的我也遇到这样的问题 ,按照你的方式可以解决 哈哈哈,太有意思了

-fno-omit-frame-pointer 是 GCC 和 Clang 编译器的编译选项之一,用于控制编译器在生成可执行文件时是否省略帧指针(frame pointer)。 帧指针是一种在函数调用过程中用于定位函数栈帧的指针。它指向当前函数的栈帧底部,通过它可以访问局部变量、函数参数和调用其他函数时需要保存的寄存器等信息。 默认情况下,GCC 和 Clang 编译器会尝试优化生成的代码,其中一个优化是省略帧指针。这样可以节省额外的指令和内存访问,从而提高代码的执行效率。但是,在某些情况下,需要使用帧指针来进行调试或者其他目的。 -fno-omit-frame-pointer 编译选项用于禁止编译器省略帧指针的优化。当使用该选项时,编译器将生成带有帧指针的代码,以便在调试或其他需要时可以准确地追踪函数调用栈。 需要注意的是,启用帧指针可能会导致生成的代码稍微变慢,并增加一些额外的代码和内存开销。因此,该选项通常在调试期间使用,而在生产环境中可能不需要启用。 在编译时使用 -fno-omit-frame-pointer 选项,可以确保生成带有帧指针的代码,以便进行调试和栈追踪等操作。

alignas(4) 有些 struct不对齐的情况下,考虑强制对齐

考虑加入 查询最后一个 1的算法,来提高 steal 的准确率

> -fno-omit-frame-pointer 是 GCC 和 Clang 编译器的编译选项之一,用于控制编译器在生成可执行文件时是否省略帧指针(frame pointer)。 > > 帧指针是一种在函数调用过程中用于定位函数栈帧的指针。它指向当前函数的栈帧底部,通过它可以访问局部变量、函数参数和调用其他函数时需要保存的寄存器等信息。 > > 默认情况下,GCC 和 Clang 编译器会尝试优化生成的代码,其中一个优化是省略帧指针。这样可以节省额外的指令和内存访问,从而提高代码的执行效率。但是,在某些情况下,需要使用帧指针来进行调试或者其他目的。 > > -fno-omit-frame-pointer 编译选项用于禁止编译器省略帧指针的优化。当使用该选项时,编译器将生成带有帧指针的代码,以便在调试或其他需要时可以准确地追踪函数调用栈。 > > 需要注意的是,启用帧指针可能会导致生成的代码稍微变慢,并增加一些额外的代码和内存开销。因此,该选项通常在调试期间使用,而在生产环境中可能不需要启用。 > > 在编译时使用 -fno-omit-frame-pointer 选项,可以确保生成带有帧指针的代码,以便进行调试和栈追踪等操作。 实测下来,效果并不好

![image](https://github.com/ChunelFeng/CGraph/assets/37905059/546941fa-d576-4320-8701-799fbe9bb0bb)

别看美女,看色丶图