C/C++ basic
Teleger
目前从事c/c++应用程序开发工作,单片机GD/嵌入式linux;涉及的硬件有RK3328/3399/3308,以及海思系列,做过图像识别,分类;智能门禁智能家居,语音识别等等应用。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于hsv转换成RGB 的相关问题
stackoverflow上的链接下面是具体代码:typedef struct { double r; // a fraction between 0 and 1 double g; // a fraction between 0 and 1 double b; // a fraction between 0 and 1} rgb;typedef struct { double h; // angle in de原创 2021-08-16 16:13:43 · 309 阅读 · 0 评论 -
关于用c语言测试单链表,循环单链表的栗子
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#define MAX_SCENE_COLOR (8)#define BASE_SCENE_DATALEN (26)typedef struct scene_data_link{ char plot; char style; int id; int si.原创 2021-08-14 10:02:34 · 152 阅读 · 0 评论 -
用C++实现一个不能被继承的类
用C++实现一个不能被继承的类点击打开链接 c++一道笔试题的思考:记得,找工作时,遇到了这样的一道笔试题。记不清是那个公司的笔试题,反正觉得自己当时还真费了一点功夫的,但是也就搞定了一部分,结果还是被另一部分给鄙视啦!现在静下来分析实现如下:题目:用C++设计一个不能被继承的类不能被继承?不能被继承?不能被继承?按照继承的理论知识分析,我们只要把类的构造函数设置为私有的,即可解决问题。因为那样的...转载 2018-01-23 22:36:20 · 256 阅读 · 0 评论 -
c/c++输出当前时间
直接上,#include #include using namespace std;static string getCurrentTime(){ time_t t = time(NULL); char ch[64] ={0}; strftime(ch,sizeof(ch) -1,"%Y-%m-%d %H:%M:%S",localtime(&t)); return ch;原创 2018-03-03 13:06:43 · 3508 阅读 · 0 评论 -
c++程序编译过程
编译主要分为4个过程: 预处理-编译优化-汇编-链接 1) 编译预处理 预编译程序完成的工作,可以说成是对源程序的“替换”工作。经过这个过程,生成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件。 宏定义命令;例如#define 条件编译指令;例如#ifdef 头文件包含指令;例如#include 特殊符号;例如__LINE__,__FILE__ 预处理模块;例如#pragma2) 编译、...转载 2018-04-10 14:52:54 · 277 阅读 · 0 评论 -
c++日志记录都有哪些好的开源项目?
首先来个 知乎 链接:点击打开链接1.看场景需求,你要是android 调用 c++ 的;可以 glog我用 的就是这个,感觉还行;链接: 点击打开链接2.c++ 开源日志库选择也请见链接:点击打开链接3.希望对你有帮助!...原创 2018-06-15 11:53:19 · 2382 阅读 · 0 评论 -
C语言remove()函数:删除文件或目录
头文件:#include <stdio.h>remove()函数用于删除指定的文件,其原型如下: int remove(char * filename);【参数】filename为要删除的文件名,可以为一目录。如果参数filename 为一文件,则调用unlink()处理;若参数filename 为一目录,则调用rmdir()来处理。【返回值】成功则返回0,失败则返回-1,错误原...转载 2018-06-01 14:28:16 · 24500 阅读 · 0 评论 -
百度笔试题:malloc/free与new/delete的区别
网 上 一堆, 我就 找来:客官,请看 啦。。相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而...转载 2018-06-29 15:28:43 · 214 阅读 · 2 评论 -
linux c之access方法介绍
1.因为在linux (ubuntu) 使用 AS (android studio) 开发应用 . 涉及到 app 读取 本地文件的问题,读取文件是需要权限的。尤其是android 6.0以后,权限要求...2 .使用c风格的 api 函数,快速,方便,直接man 就行了...今天,说说 access 函数...本文大部分为转载资料...详情请看..https://blog.csd...转载 2018-08-25 14:15:44 · 305 阅读 · 0 评论 -
linux dlopen 相关
dlopen(3) - Linux手册页名称dladdr,dlclose,dlerror,dlopen,dlsym,dlvsym - 动态链接加载器的编程接口概要#include < dlfcn.h >void * dlopen(const char * filename ,int flag );char * dlerror(void);void * dls...翻译 2018-06-29 15:47:18 · 9231 阅读 · 0 评论 -
linux c/c++ 读写数据到文件
#include <iostream>#include <stdio.h>#include <string.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include &原创 2018-12-16 23:00:22 · 2055 阅读 · 5 评论 -
C++强制类型转换运算符(static_cast、reinterpret_cast、const_cast和dynamic_cast)
C++强制类型转换运算符将类型名作为强制类型转换运算符的做法是C语言的老式做法,C++ 为保持兼容而予以保留。C++ 引入了四种功能不同的强制类型转换运算符以进行强制类型转换:static_cast、reinterpret_cast、const_cast 和 dynamic_cast。强制类型转换是有一定风险的,有的转换并不一定安全,如把整型数值转换成指针,把基类指针转换成派生类指针,把一...转载 2019-07-10 16:14:11 · 2414 阅读 · 2 评论 -
string自定义
http://www.cnblogs.com/Braveliu/archive/2013/01/01/2841601.html#ifndef __M_STRING__HPP#define __M_STRING__HPP#include #include class m_string{public: m_string(const char* str); m_string(co原创 2018-01-23 22:32:45 · 292 阅读 · 0 评论 -
早期代码整理1 整理时间2017年11月12
1.在c 语言中,逻辑‘ 真’ 等价于 非零的数2. static ① 可防止变量重名 ② 不管程序有没有执行,都分配内存3. 任何的变量 ① 表示变量的地址(左值) ② 变量的值 ( 右值)4. linux 中的 7种 文件类型: - 普通文件 d 目录文件 l 连接文件 c 字符设备文件 b 块设备文件 p原创 2017-11-12 19:58:48 · 309 阅读 · 0 评论 -
throw 与 try 和catch 的简单尝试
#include using namespace std;int main(){int num1 = 0, num2 = 0;while (cin >> num1 >> num2)//C++Primer 连续输入两个整数,用第一个去除第二个,然后输出。{try{ // try 与下面的 catch ,将一段可能出现异常的语句 括在花括号 内。原创 2017-01-08 12:05:04 · 333 阅读 · 0 评论 -
函数指针与函数指针数组的简单理解以及vector
#include #include using namespace std;//startint add(int const &a, int const &b){int temp = 0;temp = a + b;return temp;}int sub(int const &a, int const &b){int temp = 0;t原创 2017-01-16 14:30:42 · 722 阅读 · 0 评论 -
顺序容器的简单初始化
#include #include #include #include #include #include using namespace std;int main(){vector cv1 = {"a","an","the","is","computer"};vector cv2(cv1);//用相同类型的容器,以及容器元素类型都是一致 初始化。原创 2017-01-17 16:44:59 · 332 阅读 · 0 评论 -
linux c/c++ 编译没错,运行出错
问题记录-1.当glibc detected *** free(): invalid next size (normal)出现http://blog.youkuaiyun.com/mociml/article/details/6286311 2. 段错误:smallbin double linked list corruptedhttp://blog.youkuaiyun.com/shaochat/a原创 2017-03-28 13:47:06 · 2338 阅读 · 0 评论 -
linux定时器之select
参照博文:http://blog.youkuaiyun.com/lxmky/article/details/7669296写的不错,#include #include #include #include #include #include typedef struct _StrParam{ bool flag; i原创 2017-03-22 22:39:44 · 818 阅读 · 0 评论 -
Linux 下 Mutex 的简易包装
1.这是 API_Mutex.hpp#ifndef _API_MUTEX_HPP_#define _API_MUTEX_HPP_#include namespace API{ //互斥量 class API_Mutex { public: API_Mutex(); //构造函数 virtual ~API_Mutex(); //虚析构函数原创 2017-07-06 09:39:29 · 277 阅读 · 0 评论 -
string的简单使用
#include using namespace std;int main(){ string str_a(5,'a'); cout string str_b = "abcde";//char * --> string cout const char *bb = "fgh"; string e(bb);原创 2016-12-09 21:04:24 · 356 阅读 · 0 评论 -
string与vector
#include #include #include #include using namespace std;int main1(){string s("do something string");//直接初始化一个string字符串if (!s.empty()){s[0] = toupper(s[0]);//将首字母(使用下标)转换大写}原创 2017-01-06 10:08:29 · 446 阅读 · 0 评论 -
linux fread 的返回值问题
参考了博文下面的文字:fread返回的不是字节数,当且仅当下面这么用的时候,返回值才是字节数char buff[size];FILE *fp;...fread(buff, 1, size, fp);...如果是: fread(buff, size, 1, fp)返回1表示读取了size字节,返回0表示读取数量不够size字节,究竟是多少不知道!!原创 2017-08-16 16:35:49 · 2858 阅读 · 0 评论 -
linux c/c++判断文件夹文件个数(或者说是否为空)
直接上代码:#include #include #include int API::TraverseDir_Num(const char* strVideoDir)//返回该文件夹的文件个数{ //遍历目录 static int num = 0; DIR* dp; struct dirent *entry; struct stat statbuf; dp =原创 2017-08-01 16:15:22 · 6738 阅读 · 1 评论 -
Linux组件封装 使用面向对象编程封装Thread
C++11提供了thread,但是过于复杂,我们还是倾向于在项目中编写自己的Thread。Posix Thread的使用这里不再赘述。重点是这个函数:#include int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*sta转载 2017-09-22 23:22:04 · 324 阅读 · 0 评论 -
查找string中单词的个数
#include #include #include #include using namespace std;int Sum(string s){int num = 0;for (decltype(s.size()) index = 0; index != s.size(); ++index){if (isspace(s[index]))原创 2017-01-06 20:34:41 · 1523 阅读 · 0 评论
分享