C/C++/CMake
文章平均质量分 50
C/C++语言技术、CMake等工程构建技术
破竹15
技能简介
1.HTML/5
2.CSS/3
3.JavaScript/jQuery/Echarts/TypeScript
4.Java/Android
5.C/C++/graphics/Sgl/epoll/Qt
6.Python3/channels/Django
7.Linux/Shell
8.ceph/nfs-ganesha
9.opengl/CocosCreator3.x
展开
-
c++ 计算程序运行时间
class calcRunTime{public: calcRunTime(std::string t){ tag=t; startTime = clock(); } ~calcRunTime(){ endTime = clock();#ifdef ANDROID ALOGE(" calcRunTime-- %s : %lf",tag.c_str(),(double)(endTime - startTime));#else printf(" calcRunTime-- %s原创 2022-05-20 11:53:40 · 406 阅读 · 0 评论 -
C++11——std::mutex
互斥量互斥量是一个可以处于两态之一的变量:解锁和加锁。这样,只需要一个二进制位表示它,不过实际上,常常使用一个整型量,0表示解锁,而其他所有的值则表示加锁。互斥量使用两个过程。当一个线程(或进程)需要访问临界区时,它调用mutex_lock。如果该互斥量当前是解锁的(即临界区可用),此调用成功,调用线程可以自由进入该临界区。#include <iostream>#include <vector>#include <thread>#include <mut转载 2021-09-03 09:44:56 · 459 阅读 · 0 评论 -
使用鸿蒙native交叉编译cmakelists.txt项目
set OHOS_SDK_HONE=D:/Huawei/Sdkset OHOS_NATIVE_HOME=D:/Huawei/Sdk/native/3.0.0.0set cmakelists_dir=D:/jhyPro/HarmonyCrossCompilation/testset bd=D:/jhyPro/HarmonyCrossCompilation/build_output/cmset output_dir=D:/jhyPro/HarmonyCrossCompilation/build_out原创 2022-01-17 16:20:48 · 742 阅读 · 0 评论 -
c/c++多线程同步--信号量
多线程读文件使用fopen,出现BUG,然后寻找同步方法,找到这个“信号量“。首先需要用sem_init(); 初始化sem_t型变量,并设置初始信号量。比如设置为1.每次调用sem_wait(sem_t *); 信号量减一,当调用sem_post(sem_t *); 信号量加一。当信号量为0时,sem_wait(); 函数阻塞,等待信号量 >0 时,才进行。#include <stdio.h>#include <pthread.h>#include <sem转载 2022-05-25 11:36:07 · 578 阅读 · 0 评论 -
c++多线程调用python
文章出处:http://www.cppblog.com/API/archive/2013/12/06/204618.html原创 2021-09-03 10:25:32 · 562 阅读 · 0 评论 -
cmake交叉编译podofo到鸿蒙
方式1: windows命令行下脚本编译:set OHOS_SDK_HONE=D:/Huawei/Sdkset OHOS_NATIVE_HOME=D:/Huawei/Sdk/native/3.0.0.0set cmakelists_dir=D:/jhyPro/HarmonyCrossCompilation/podofo-0.9.7set bd=D:/jhyPro/HarmonyCrossCompilation/build_output/cmset output_dir=D:/jhyPro/Har原创 2022-02-09 09:32:05 · 458 阅读 · 0 评论 -
C++ 11 多线程--线程管理
说到多线程编程,那么就不得不提并行和并发,多线程是实现并发(并行)的一种手段。并行是指两个或多个独立的操作同时进行。注意这里是同时进行,区别于并发,在一个时间段内执行多个操作。在单核时代,多个线程是并发的,在一个时间段内轮流执行;在多核时代,多个线程可以实现真正的并行,在多核上真正独立的并行执行。例如现在常见的4核4线程可以并行4个线程;4核8线程则使用了超线程技术,把一个物理核模拟为2个逻辑核心,可以并行8个线程。并发编程的方法通常,要实现并发有两种方法:多进程和多线程。多进程并发使用多进程并发是转载 2021-09-03 10:21:42 · 482 阅读 · 0 评论 -
CMakeLists.txt 语法介绍与实例演练
https://blog.csdn.net/afei__/article/details/81201039转载 2021-02-04 15:30:45 · 371 阅读 · 0 评论 -
cmake强制.c文件用c++编译
今天在项目中用cmake编译混合.c的工程和c++的工程,遇到在.c文件中include cpp的文件的话会找不到c++ 的stl里面的一些头文件,记录下。原创 2022-08-14 22:40:05 · 804 阅读 · 0 评论 -
c++杂记
C++17中的std::string_viewstring_view用来获取一个字符串的视图,字符串视图并不真正的创建或者拷贝字符串,而只是拥有一个字符串的查看功能。std::string_view比std::string的性能要高很多,因为每个std::string都独自拥有一份字符串的拷贝,而std::string_view只是记录了自己对应的字符串的指针和偏移位置。当我们在只是查看字符串的函数中可以直接使用std::string_viewboost::format类用法 #include原创 2021-05-06 11:01:38 · 114 阅读 · 0 评论 -
c++内存管理
c++内存分配方式在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。自由存储区,就是那些由malloc等分配原创 2021-09-10 14:41:06 · 193 阅读 · 0 评论 -
c/c++易错知识点
1. sizeofsizeof是一个操作符,而不是一个函数,其返回值是size_t类型。sizeof是编译时进行的,也就是说,其值的大小,是在运行之前就已经决定好的,不像函数调用,是在运行期间决定的。程序示例:#include <stdio.h>int main(){ int n = 0; printf("%d\n", sizeof(n=100)); printf("%d\n", n); return 0;}输出结果:4 0编译完原创 2021-09-10 11:34:04 · 193 阅读 · 0 评论