C++11 – std::chrono – 使用std::chrono::duration_cast进行时间转换,hours/minutes/seconds/milliseconds/microseconds相互转换,以及自定义duration进行转换
1 小时转换为分钟/秒/毫秒/微秒 #include <iostream> #include <string> #include <chrono> int main() { std::chrono::hours hour_time = std::chrono::h…
- C++
- 2021-02-05
C++11 – 使用std::chrono计算程序、函数运行时间
1 使用std::chrono计算程序运行时间 参考代码如下: #include <iostream> #include <string> #include <chrono> void Run() { for (int i = 0; i < 10000000…
- C++
- 2021-02-05
FFmpeg – 将某个文件夹下的图片按标号顺序合成为指定编码格式和指定帧率的视频
1 FFmpeg图片合成视频命令解析 命令格式 ffmpeg -f image2 -i 图片所存放路径和图片命名格式 -vcodec 指定视频编码格式 -r 视频帧率 输出文件路径和文件名 命令示例 ffmpeg -f image2 -i ./image%d.png -vcodec libx264 …
- FFmpeg
- 2021-02-03
工具网站推荐 – 免费的在线视频剪切网站
1 online-video-cutter 网站链接:https://online-video-cutter.com/cn/ 这个网站是国外的,不过是真的好用,不像国内那些在线视频剪辑网站,要么需要微信电话注册,要么当你的视频超过100M就需要会员,说实话吃相有点难看了。唯一的缺点就是网站和视频下载…
- 工具软件网站
- 2021-02-03
C++ – 线程安全的std::cout
1 线程安全的std::cout 最近在多个子线程中使用std::cout输出日志信息发现std::cout不是线程安全的,无法保持线程同步,导致日志信息无法按照固定顺序输出,现象如下: 所以对std::cout做了一个封装以保证多线程之间的同步,代码如下: #include <iostrea…
- C++
- 2021-02-01
C++11 – std::string – stod/stof/stoi/stol/stold/stoll/stoul/stoull,由std::string转换为int/long/float/double等其他类型
在C++11发布之前我们只能使用C语言的atoi等函数完成字符串到int/float/double等类型的转换,而在C++11中在std::string中自带了stoi/stod等工具函数进行转换! 1 std::stod 函数原型 double stod (const string& st…
- C++
- 2021-01-29
C++ – std::string输出双引号到字符串
1 C++ std::string输出双引号到字符串 输出双引号“”到字符串中可以通过添加转义字符"\"对双引号进行转义, 可参考代码如下: int main() { string str = "\"Everything is worse!\""; cout << str <<…
- C++
- 2021-01-28
ThreeJS – 动态更换fbx模型的某个子Mesh现有的纹理贴图为指定的纹理贴图
1 动态更换fbx模型的指定纹理贴图 在使用ThreeJS中的FBXLoader的过程中,我们在有的时候只需要Fbx模型的网格信息,而每个网格的纹理我们想自己动态的指定,这在OpenGL中很简单,在ThreeJS同样也是非常简单。 动态更换子mesh中纹理贴图可参考以下代码: var fbxMode…
- ThreeJS
- 2021-01-28
C++ – 获取当前进程内存使用情况
1 获取当前进程内存使用情况 1.1 GetProcessMemoryInfo函数和其他相关信息 可以使用psapi.h中的GetProcessMemoryInfo函数获取指定进程的内存使用情况的信息。 BOOL GetProcessMemoryInfo( HANDLE Process, PPROC…
- C++
- 2021-01-25
Duilib – CDuiString转换为std::string
1 CDuiString转换为std::string 在visual studio中如果设置的是使用多字节字符集,那么就可以使用CDuiString类的GetData方法进行直接转换,如果设置的是使用Unicode字符集,那么需要将宽字节转换成多字节字符集。 从CDuiString转换为std::s…
- Duilib
- 2021-01-25
Duilib – pos和padding属性设置的顺序
1 Duilib中控件pos和padding属性设置的顺序 例如: pos属性设置 pos="10,10,100,30" 或者padding属性设置 padding="10,10,100,30" 这两者的属性设置值的顺序都是按照left(左)、top(上)、right(右)、bottom(下)的顺序…
- Duilib
- 2021-01-25
C++ – 只有在Debug模式下才使用std::cout输出调试日志,Release发布版本不输出调试日志
1 调试日志的输出 日志的输出的重要性:在程序开发过程中,日常调试信息的输出对锁定bug代码行位置、数据校验、信息判断起着非常重要的作用。 日志输出的缺陷:但是在发布的生产版本代码中大量输出日志容易造成性能丢失,日志文件过大的问题,所以调试日志输出常常只是需要在Debug模式下需要,而在发布版本中是…
- C++
- 2021-01-16
最新评论