c++笔记
_蓝染_
这个作者很懒,什么都没留下…
展开
-
mp4v2 arm64交叉编译
1.交叉编译./configure --prefix=/home/xxx CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ --disable-debug --enable-shared --host-armmake-j4make install2.recipe “int64_t”错误vim include/libavformat/avio.h/* typedef unsigned long long uint64_t; *//*原创 2021-12-14 17:42:02 · 1387 阅读 · 0 评论 -
makefile编译 --gc-section
本周在给程序添加功能的时候,突然发现,我只是写了几个函数,还没调用,size就变大了。这肯定是不行的嘛,没用的函数就应该不链接进来,占用我宝贵的空间。这种功能,讲道理编译器肯定要支持的,于是搜了一下,果然是有个编译选项需要在编译的时候,加入-ffunction-sections, -fdata-sections 选项,在链接的时候,加入–gc-sections选项大概的意思就是,编译的时候,把每个函数作为一个section,每个数据(应该是指全局变量之类的吧)也作为一个section,这样链接的时候,转载 2021-07-02 15:24:11 · 1739 阅读 · 0 评论 -
utf-8和gbk编码在线工具
http://www.mytju.com/classcode/tools/encode_gb2312.asp原创 2021-05-27 11:29:31 · 15168 阅读 · 0 评论 -
libcurl库编译
参考链接:https://blog.csdn.net/qq_43680827/article/details/105380969转载 2021-05-17 19:49:26 · 92 阅读 · 0 评论 -
一看就懂的内存对齐
内存对齐内存对齐对于程序员来说透明的,这是编译器该做的事,将每个数据按排到合适的位置,这也是编译器优化的结果。所以了解内存对齐的原理对于一个程序员写代码是十分必要的,就不会导致大量的内存碎片产生。对齐规则1、对于结构体的第一个成员,将它在整个结构体在内存中分布的偏移量看成0,以后的每一个数据成员的偏移量必须是 min{#pragma pack()指定的数,这个数据成员的本身的数据长度} 的倍数。2、每个数据成员完成在结构体内部对齐的时候,还要进行整个结构体在内存中的对齐,整个结构体的大小为 min{转载 2021-01-28 11:11:58 · 221 阅读 · 0 评论 -
const、指针常量和常量指针的解释
const 限定符,定义的值不可以被修改。所以必须进行初始化。1.必须进行初始化。 const int i = 3;//编译时初始化 const int i = GetSize();//运行时初始化2.初始化完成后,任意给const变量进行赋值的操作都将引发错误。const int i = 3;//编译时初始化i= 5;//错误3.默认状态下,const对象仅在文件内有效,多文件共享可使用externconst的引用 1.引用及其对应的对象都是常量const int c = 102原创 2021-01-25 10:53:03 · 240 阅读 · 1 评论 -
c++ 实现循环移位
这里写自定义目录标题c++ 实现循环移位c++ 实现循环移位#include <stdio.h>#include <Windows.h>/* 功能:循环位移 参数: T:模板数据 n:位移的大小 direction:方向,1为右,2为左*/template <typename T> T bit_move(T val, int n, bool direction){ int size = sizeof(val)*原创 2020-09-09 15:33:41 · 1268 阅读 · 0 评论 -
c/c++ 获取系统时间
//时间 #include <time.h> #include <sys/timeb.h> //获取系统时间的操作 time_t timep; struct tm *p; time(&timep); p=localtime(&timep); /*取得当地时间*/ //struct _timeb timebuffer; /...原创 2019-10-24 14:09:28 · 243 阅读 · 0 评论 -
c/c++ 解析json的方法的示例
第一种,头文件调用#include<json.h> Json::Value root; Json::Reader reader; const char* s = "{\"uploadid\": \"UP000000\",\"code\": 100,\"msg\": \"\",\"files\": \"\"}"; if(!reader.parse(s, root)) ...原创 2019-10-18 17:18:40 · 306 阅读 · 0 评论 -
vs2010如何创建并使用静态库和动态库
博客原址:https://blog.csdn.net/bie_niu1992/article/details/45690381转载 2019-01-04 11:25:19 · 925 阅读 · 0 评论 -
NPAPI插件开发
1.插件是什么插件是一种遵循一定规范的应用程序接口编写出来的程序。插件必须依附于一个宿主程序,为宿主程序提供增强功能。插件的种类有很多,这里主要讨论浏览器插件。IE下利用OLE和COM技术开发的浏览器插件称为ActiveX控件。一般以.ocx为扩展名。IE浏览器通过OLE标准与ActiveX控件之间进行交互,完成对现有功能的扩充。IE和OLE技术都是微软出的,所以如果在非IE浏览器下开发插件...转载 2019-06-21 14:57:25 · 3090 阅读 · 0 评论 -
sizeof和strlen的在char*和char[]的区别
strlen 测量的是字符的实际长度,以’\0’ 结束。而sizeof 测量的是字符的分配大小。char *p = "123456789"; //sizeof此时计算的是指针的大小,所以输出为4 sizeof(p) //strlen此时计算的是字符串的长度,不加\0,此时为9strlen(p)char p[] = "123456789"; //sizeof此时计算的是字符的分配长...原创 2019-10-12 13:41:56 · 1248 阅读 · 0 评论 -
Unicode编码,utf-8、utf-16、utf-32、gbk、宽字节字符、多(窄)字节字符的简单说明
最近工作需要,做了很多unicode、gbk、宽字节、多字节的转换,然后自己就混乱了,所以就搜索的一些资料,简单汇总一下,防止下次的混乱。ASCII编码美国人制定的一套字符集,描述英语中的字符和8位二进制数(1字节)的对应关系,这被称为 ASCII 码。ASCII码共定义了128个字符,使用了8位二进制数中的7位,最高位统一规定为0。unicode编码Unicode(统一码、万国码、单一码...原创 2019-10-17 10:04:56 · 2878 阅读 · 0 评论 -
c/c++ utf-8与gbk的互相转化
最近整理了c/c++ 中各种字符,数组的转化,在此记录一下,如有问题错误还请指出。//==================================================================/** 功能: 字符串转化为16进制数组,utf-8转多字节(gbk) 参数: gbk **///=================================...原创 2019-10-17 08:36:03 · 2828 阅读 · 1 评论 -
c++ Unicode编码多字节字符转宽字节字符
宽字符与多字符的互相转化void WcharToChar(char *m_char, wchar_t * m_wchar){ int Size = WideCharToMultiByte(CP_ACP, 0, m_wchar, -1, NULL, 0, NULL, NULL); WideCharToMultiByte(CP_ACP, 0, m_wchar, -1, m_char, Size...原创 2019-10-17 09:51:05 · 607 阅读 · 0 评论 -
c/c++ enum枚举类型及其遍历
我们以一年有四个季节进行枚举实例c: enum Season { SPR = 0, SUM, AUT, WIN, //最后一个逗号可以不加 }; //结尾必须加;注意:第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。如果我们想从1开始,那么我们可以将第一个SPR = 1,这样我们可以达到1,2,3,4的排列顺序。...原创 2019-10-15 17:56:36 · 17505 阅读 · 1 评论 -
c++ 将socket使用封装成类,实现socket通信
最近简单的整理了一下socket的使用,可能存在某些问题,望指出,谢谢。SocketConnect.h#ifndef _SOCKETCONNECT_H_#define _SOCKETCONNECT_H_#include <WinSock2.h>#include<string>class SocketConnet{public: SocketConne...原创 2019-10-14 18:03:18 · 3491 阅读 · 0 评论 -
c++ 读取和写入文件
使用ifstream和ofstream和read和write函数,以二进制的方式,来完成文件的读和写。/**日期:2019.10.12*功能:以二进制读取文件内容*参数说明: filePath:文件的路径 outParam:读取出来的内容*返回值:打开文件失败返回-1,成功返回0*/int ReadFile(char *filePath, char *ou...原创 2019-10-12 14:34:37 · 1721 阅读 · 0 评论 -
c++ primer 答案总结
https://blog.csdn.net/liang_jiayu/article/details/79972237转载 2019-03-07 14:49:25 · 133 阅读 · 0 评论 -
c++编写读卡器与IC卡交互信息的几个关键函数
前段时间为了测试读卡器的功能,编写了一个简单的测试工具,实现与IC卡交互信息的功能。懂得不是很多,直接上代码解释 //获取环境句柄 //SCardEstablishContext函数第一个参数也可选取SCARD_SCOPE_SYSTEM lReturn = SCardEstablishContext(SCARD_SCOPE_USER, NULL, NULL, &amp;...原创 2018-11-20 17:50:37 · 1969 阅读 · 0 评论