自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Seehom的博客

技术改变生活

  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 揭秘GPU虚拟化,算力隔离,和最新技术突破qGPU

揭秘GPU虚拟化,算力隔离,和最新技术突破qGPU-简易百科

2023-04-17 09:23:05 334

原创 nvstream

DRIVE OS Linuxhttps://docs.nvidia.com/drive/drive-os-5.2.3.0L/drive-os/index.html#page/DRIVE_OS_Linux_SDK_Development_Guide/Graphics/nvsci_nvscibuf.html#智能驾驶软硬件框架 - 知乎

2023-04-17 09:13:41 239

原创 RTP相关

RTP

2022-11-17 09:22:30 599

原创 Effctive C++

C++

2022-10-28 16:40:50 550

原创 NvMedia文档

NvMedia

2022-07-23 10:38:06 493

转载 C++11的左值引用与右值引用总结

概念在C++11中,区别表达式是左值或右值可以做这样的总结:当一个对象被用作右值的时候,用的是对象的值(内容);当对象被用作左值的时候,用的是对象的身份(在内存中的位置)。左值有持久的状态,而右值要么是字面常量,要么是在表达式求值过程中创建的对象,即左值持久,右值短暂以上的定义来自于C++Primer(5th)第121页和第471页。可能令人困惑,看了接下来的例子就明白了[cpp]view plaincopyint&&rr1=42;//正确,字面常量是右值 i...

2022-02-26 19:47:40 171

原创 C++编译过程

阶段 1 1) (以实现定义方式)将源文件的各个单独字节,映射为基本源字符集的字符。特别是,操作系统相关的行尾指示符均被替换为换行字符。基本源字符集由以下 96 个字符组成: a) 5 个空白字符(空格 (space)、水平制表 (horizontal tab)、垂直制表 (vertical tab)、换页 (form feed)和 换行 (new-line)) b) 10 个数字字符,从 '0' 到 '9' c) 52 个字母,从 'a' 到 'z'...

2022-02-20 19:38:19 665

原创 C++预处理指令

指令 预处理指令控制预处理器的行为。每个指令占据一行并拥有下列格式: #字符 预处理指令(define、undef、include、if、ifdef、ifndef、else、elif、endif、line、error、pragma之一) 实参(取决于指令) 换行符 条件包含: 预处理器支持有条件地编译源文件的某些部分。这一行为由 #if、#else、#elif、#ifdef、#ifnde...

2022-02-20 19:31:23 1074

原创 C++积累

STL atomic #include <atomic> 原子操作(atomic): 互斥量的加锁一般是针对一个代码段,而原子操作针对的一般都是一个变量。原子变量既不可复制亦不可移动。(1)它表示在多个线程访问同一个全局资源的时候,能够确保所有其他的线程都不在同一时间内访问相同的资源。也就是他确保...

2022-02-13 21:17:14 362

原创 C++积累

C++ 关键词 - C++中文 - API参考文档1. alignas 说明符 (C++11 起)语法 alignas(表达式) alignas(类型标识) alignas(包...) 1)alignas(表达式)必须是求值为零或合法的对齐或扩展对齐的整型常量表达式。2)等价于alignas(alignof(类型))3)等价于对同一说明应用多个 alignas 说明符,逐个...

2022-02-11 15:33:56 200

原创 面试总结1

{在编译过程中,编译器会将我们的代码编译成汇编文件,这里其实就存在这一种重命名机制,我们把它就叫做名字修饰。名字修饰内容1、在C语言中,编译器在编译过程会将我们的函数重命名,具体的方法就是在我们的函数名前加上“_“修饰符,通过这种方式就可以在我们的符号表种查找到了,但是假如有两个相同的函数,编译之后进行相同的重命名,在符号表中生成的函数名一样,那么就无法区分到底是哪个函数了,所以这也就是我们的C语言为什么不支持函数重载的原因了。2、在C++中,既然支持函数重载,那么它肯定对C语言在这方...

2021-08-16 12:58:57 112

原创 C++11 新特性总结

【0】g++/gcc 支持c++11/c11标准{(0)为了让g++能够支持和编译c++11新特性代码,需在编译时候加上指定条件:-std=c++11g++ newFeature.cpp -o app -std=c++11(1)使用-std=c11来让gcc支持c11新特性gcc 文件名.c -o 可执行文件名 -std=c11}【1】静态断言(static_assert): #include <assert.h>{(1)断言概念     所谓“断...

2021-08-16 12:56:32 2530

原创 C++11新特性

【0】g++/gcc 支持c++11/c11标准{(0)为了让g++能够支持和编译c++11新特性代码,需在编译时候加上指定条件:-std=c++11g++ newFeature.cpp -o app -std=c++11(1)使用-std=c11来让gcc支持c11新特性gcc 文件名.c -o 可执行文件名 -std=c11}【1】静态断言(static_as...

2020-04-06 16:16:21 272

原创 设计模式

http://www.cnblogs.com/hegezhou_hot/archive/2010/12/09/1901040.html/////////////////-------------------设计模式1>高内聚、低耦合 (1)耦合性(Coupling) 也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、 调用模块的方式以及...

2020-04-04 22:51:23 399

原创 C++ STL

第二章:标准库简介(1)复杂度与Big-O:{Big-O:将一个算法的运行时间以一个输入量n的函数表示。}第三章:C++11新特效{ 3.1.3:一致性初始化:面对任何初始化动作,可以使用相同语法,也就是大括号。如下: (1)std:initializer_list<> : 支持一系列值进行初...

2020-04-04 17:25:15 166

原创 const 详解

const1、用const 修饰函数的参数:常引用(常引用所引用的对象不能被更改)对于非内部数据类型的输入参数,应该将“值传递”的方式改为“const 引用传递”,目的是提高效率。例如将void Func(A a) 改为void Func(const A &a)。对于内部数据类型的输入参数,不要将“值传递”的方式改为“const 引用传递”。否则既达不到提高效率...

2020-04-04 16:55:21 361

原创 STL

STL包含:容器类(container)、迭代子(iterator)、 算法(algorithm)容器类(Container):-容器类是管理序列的类,是容纳一组对象或对象集的类。通过由容器类提供的成员函数,可以实现诸如向序列中插入元素,删除元素,查找元素等操作,这些成员函数通过返回迭代子来指定元素在序列中的位置。容器分为三大类:顺序容器、关联容器、容器适配器标准库中的顺序容器包括:...

2020-04-04 16:43:40 176

原创 C++的构造函数为何不能为虚函数

1. 存储空间角度:虚函数对应一个vtable,vtable存储于对象的内存空间若构造函数是虚的,则需要通过 vtable来调用,若对象还未实例化,即内存空间还没有,无法找到vtable2. 使用角度:虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调用。构造函数本身就是要初始化实例,那使用虚函数就没有实际意义3. 从实际含义上看,在调用构造函数时还不能确定对象的真实类型...

2020-04-04 15:46:32 130

原创 string.h一些函数

strset原型:extern char *strset(char *s, char c); 用法:#include <string.h> 功能:把字符串s中的所有字符都设置成字符c。 说明:返回指向s的指针。 举例: // strset.c #include <syslib.h> #include &l...

2019-06-30 20:02:33 256

转载 strcpy、strncpy与memcpy的区别与使用方法

strcpy、strncpy与memcpy的区别与使用方法strcpy、strncpy、memcpy这三个C语言函数我们在主机代码编写中会很频繁的使用到,但是三个函数的区别、使用时该注意什么还是有必要说下的。本文参考《C 标准库》编写。一、函数说明1、memcpy函数void  *memcpy(void *s1,  const void *s2,  size_t  n);

2018-01-07 16:54:45 472

转载 struct

结构体定义:第一种:只有结构体定义[cpp] view plain copystruct stuff{          char job[20];          int age;          float height;  };  第二种:附加该结构体类型的“结构体

2018-01-07 16:53:47 292

原创 函数调用协议

当参数个数多于一个时,按照什么顺序把参数压入堆栈函数调用后,由谁来把堆栈恢复原装。在高级语言中,通过函数调用约定来说明这两个问题。常见的调用约定有  :stdcall,cdecl,fastcall,thiscall,naked call(1)__stdcall详解--Windows API默认的函数调用协议。stdcall调用约定声明的语法为

2018-01-06 14:57:46 1227 1

原创 STDMETHOD详解

1、概述STDMETHOD,定义了一个返回HRESULT类型的虚方法2、简介#define STDMETHOD(method) virtual HRESULT STDMETHODCALLTYPE method  其中,STDMETHODCALLTYPE定义了参数传递的方法类型,如下:  #ifdef _WIN32 // Win32 doesn't suppo

2018-01-06 14:31:27 413

原创 C++积累

/*------------------积少成多---------------*/http://www.cnblogs.com/lizhenghn/p/3751857.html(1-0)命名规则:1、类名和函数名用大写字母开头的单词组合而成。2、变量和参数用小写字母开头的单词组合而成。3、常量全用大写的字母,用下划线分割单词。4、静态变量加前缀s_(表示static)。

2018-01-04 20:07:41 177

原创 CSP

定义:CSP是Cryptographic Service Provider的简称,是Microsoft 公司用来在Windows平台上提供第三方加密模块的接口标准。用于管理硬件或软件形式的加密设备,实现数据加密、解密、数字签名、验证和数据摘要等。CSP是Windows安全应用的基础,在Windows操作系统上实现https安全浏览和实现安全隧道功能,都必需有CSP参与密码运算。一个CSP

2017-11-15 12:54:52 663

原创 密码学

一、对称密钥加密:一个密钥-----DES、3DES、AES、RC4        共享密钥加密或者机密密钥加密,使用发件人与收件人共同拥有的单个密钥。这种密钥既用于加密,又用于解密,叫做机密密钥(对称或会话密钥)。        对称密钥加密有许多种算法,但所有这些算法都有一个共同的目的-以可还原的方式将明文(未加密的数据)转换为暗文。暗文使用加密密钥编码,对于没有解密密钥的任何

2017-11-15 12:53:13 425

原创 Linux+GCC+GDB

1.mtrace在linux下开发应用程序,用C/C++语言的居多。内存泄露和内存越界等内存错误,无疑是其中最头疼的问题之一。glibc为解决内存错误提供了两种方案:一种是hook内存管理函数。hook内存管理函数后,你可以通过记下内存分配的历史记录,在程序终止时查看是否有内存泄露,这样就可以找出内存泄露的地方了。你也可以通过在所分配内存的首尾写入特殊的标志,在释放内存时检查该标志是否被破

2017-11-11 16:03:17 359

转载 各种排序算法C++实现

//各种排序算法的实现/*交换函数*/void swap(int*list,int low,int high ){        int temp = list[low];    list[low]= list[high];    list[high]= temp;}/*小于函数*/bool lt(consti

2016-10-21 12:07:53 291

原创 面经

一、类型转换运算符  class Base{..}-->class A : public Base{...};  dynamic_cast:将基类类型的指针或引用转换为同一继承层次中其他类型的引用或指针;dynamic_cast操作符其实执行两个动作,首先检查转换是否有效,如果无效则进行错误处理,如果有效,进行转换      Base *bs = new A; A *a = dynam

2016-10-19 18:26:15 302

原创 C++地址对齐

一、什么是对齐 在C/C++中,数据结构或类的成员变量,并不是按照它们的大小,一个一个紧凑地排列在空间上的。它们是按照一种 特定的方法排列的,有可能在两个成员变量之间插入一个或个byte,以保证每个成员变量的起始位置是都是从某些 特定的位置开始的。这就是对齐。单纯从语言上描述对齐有些枯燥难以理解,下文将配以例子说明C/C++是基于什么 样的规则对齐的。二、为什么对齐

2016-10-19 18:01:17 1522

转载 byte[]数组和int之间的转换

http://blog.csdn.net/sunnyfans/article/details/8286906第一种:1、int与byte[]之间的转换(类似的byte short,long型)/**     * 将int数值转换为占四个字节的byte数组,本方法适用于(低位在前,高位在后)的顺序。 和bytesToInt()配套使用     * @param

2016-10-17 10:49:19 474

原创 C++内存管理

内存管理一、内存管理 1)内存分类   在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。   1.1:栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释        放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。   1.2:堆,就是那些

2016-10-10 17:39:18 260

原创 高质量C++编程

//-----------------------------第 1 章文件结构----------------------------一、每个 C++/C 程序通常分为两个文件。一个文件用于保存程序的声明(declaration),称为头文件。另一个文件用于保存程序的实现(implementation),称为定义(definition)文件。C++/C 程序的头文件以“.h”为后

2016-09-24 22:54:18 428

原创 C++编程规范_Google

一、头文件的引用 每一个.cc 文件(C++的源文件)都有一个对应的.h 文件(头文件),也有一些例 外,如单元测试代码和只包含main()的.cc 文件。 正确使用头文件可令代码在可读性、文件大小和性能上大为改观。 1、#define的保护 所有头文件都应该使用宏定义来防止头文件被多重包含(Multiple inclusion), 其格式为:___H_  为确

2016-09-24 16:16:55 471

原创 C++基础学习总结0001

/*------------------第二章------------------------------------------------------------*/一些函数    #include     double dRet = pow(x, y); //返回x的y次方 double pow(double x, double y)    int nRet = rand(v

2016-09-23 15:23:03 528

原创 C++_常用总结0001

/*------------------积少成多---------------*/http://www.cnblogs.com/lizhenghn/p/3751857.html(1-0)命名规则:    1、类名和函数名用大写字母开头的单词组合而成。    2、变量和参数用小写字母开头的单词组合而成。    3、常量全用大写的字母,用下划线分割单词。    4、静态变量加前

2016-09-23 15:22:09 524

原创 各种设计模式总结

http://www.cnblogs.com/hegezhou_hot/archive/2010/12/09/1901040.html/////////////////-------------------设计模式1>高内聚、低耦合  (1)耦合性(Coupling)      也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、      调用模块的方式

2016-09-23 15:19:44 2312 1

原创 C++混合学习-类的大小计算sizeof(className)

1.C++类的实例化对象的大小之sizeof()     class A       {       };        A a;       cout      运行结果:1     解释:空类,没有任何成员变量或函数,即没有任何存储内容;但是由A a可知,空类仍然可以实例化。一个类能够实例化,编译器就需给它分配内存空间,来指示类实例的地址。这里编译器默认

2016-09-23 13:44:23 328 1

原创 STL总结

STL

2016-09-22 14:20:00 235 1

原创 C++编程规范_1.0.0.1

1.头文件的使用     通常,每一个.cc(或者.cpp)文件(C++的源文件)都有一个对应的.h文件(头文件),也有一些例外,如单元测试代码和只包含main()的.cc(cpp)文件。     好处:          01: 将一些共同使用的,经常不会变动的代码放在.h文件中,如类、全局变量等。第一次编译后后续不在需要重新编译,能够加快编译速度。          02:

2016-09-20 22:26:39 628 1

代码中加入C++打日志

C++代码中加入日志处理代码: void TestLogCase One { FILE pFile NULL; char pFieldContent NULL; char szFileName[] &quot;test case txt&quot;; pFieldContent char malloc TEST CASE MAX FILE LEN ; if NULL pFieldContent

2014-08-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除