GCC/G++中编译优化选项-O -O0 -O1 -O2 -O3 -Os -Ofast -Og -Oz各自的区别和作用
1 GCC/G++中的编译优化选项 在gcc/g++编译程序时,不同优化编译选项,如-O1,-O2,-O3等会产生不同的程序大小以及程序运行速度。本文将对GCC/G++中的不同编译选项进行简要的介绍。 1.1 -O0 如果GCC不指定编译优化选项,那么会设置为-O0。 -O0主要可以减少代码编译时间…
- C++
- 2022-04-18
CMake – 设置Debug或者Release编译模式
1 CMake设置编译模式Debug或者Release 使用cmake需要指定编译模式时一般有两种方式,一种是直接在CMakeLists.txt中设置,另一种则是在cmake命令行中设置。 1.1 在CMakeLists.txt直接设置 Debug模式 SET(CMAKE_BUILD_TYPE "D…
- C++
- 2022-04-15
C++ – 常用的C++命令行参数解析第三方库
最近在Linux上开发C++程序时,通过int main(int argc,char[] argv)通过命令行参数的方式向程序传参时真的很难用,这个时候就非常怀念python的argparse命令行参数解析包,那C++有没有类似的命令行参数解析库呢?大致了解下,发现真的有。所以本文将例举下C++中简…
- C++
- 2022-04-14
C++ – Windows和Linux系统下获取当前可执行程序的绝对路径
1 C++获取Windows和Linux系统当前可执行程序的绝对路径 在程序中获取当前程序在系统中的绝对路径是频繁使用的功能,本文总结了如何在Windows和Linux系统获取当前可执行程序绝对路径的方式,并封装成可跨平台编译的工具类PathUtils。 1.1 在Windows系统上获取当前可执行…
- C++
- 2022-03-22
C++ – 字节数组byte[]或者unsigned char[]与long double的相互转换
设定long double型的字节长度为12。 1 long double转字节数组 long double转字节数组byte[]或者unsigned char[] void LongDoubleTobytes(long double data, unsigned char bytes[]) { s…
- C++
- 2022-03-17
C++ – 字节数组byte[]或者unsigned char[]与bool的相互转换
设定bool型字节长度为1。 1 bool转字节数组 bool型转字节数组byte[]或者unsigned char[] void BoolTobytes(bool data, unsigned char bytes[]) { if (data) { bytes[0] = (unsigned cha…
- C++
- 2022-03-16
C++ – 字节数组byte[]或者unsigned char[]与float的相互转换
设定float型字节长度为4字节。 1 float转字节数组 float型转字节数组byte[]或者unsigned char[] void FloatTobytes(float data, unsigned char bytes[]) { size_t length = sizeof(float)…
- C++
- 2022-03-15
C++ – 字节数组byte[]或者unsigned char[]与double的相互转换
设定double型字节长度为8。 1 double转字节数组 double型转字节数组byte[]或者unsigned char[] void DoubleTobytes(double data, unsigned char bytes[]) { size_t length = sizeof(dou…
- C++
- 2022-03-14
C++ – Jni中的GetByteArrayElements和GetByteArrayRegion的区别和使用示例
1 Jni中的GetByteArrayElements和GetByteArrayRegion的区别和使用示例 在通过Jni接口从Java层向C/C++传递字节数组时,经常会使用GetByteArrayElements和GetByteArrayRegion两种方法获取字节数组。 1.1 GetByte…
- C++
- 2022-03-14
C++ – 字节数组byte[]或者unsigned char[]与short的相互转换
设定short型长度为2。 1 short转字节数组 short型转字节数组byte[]或者unsigned char[] void ShortToBytes(short value, unsigned char* bytes) { size_t length = sizeof(short); me…
- C++
- 2022-03-13
C++ – 字节数组byte[]或者unsigned char[]与long long的相互转换
设定long long型长度为8。 1 long long转字节数组 long long型转字节数组byte[]或者unsigned char[] void LongLongToBytes(long long value, unsigned char* bytes) { size_t length …
- C++
- 2022-03-12
C++ – 字节数组byte[]或者unsigned char[]与long的相互转换
设定long型长度为4字节。 1 long转字节数组 long型转字节数组byte[]或者unsigned char[] void LongToBytes(long value, unsigned char* bytes) { size_t length = sizeof(long); memset…
- C++
- 2022-03-11