- 博客(29)
- 资源 (8)
- 收藏
- 关注
原创 OracleOraDb11g_home1TNSListener 无法启动
OracleOraDb11g_home1TNSListener服务无法启动
2024-11-03 11:23:13 123
原创 QT连接Oracle报错
QSqlDatabase连接Oracle数据库,报错"[Oracle][ODBC][Ora]ORA-00942: 表或视图不存在
2024-11-03 09:16:20 37
原创 C++ 经典面试题
2、C++中static的特性,静态成员变量初始化,静态成员函数,静态局部变量的生命周期,赋值初始化问题。1、消息队列:操作系统负责为进程维护一个消息队列,程序运行时不断从该消息队列中获取消息、处理消息;3、消息处理:消息循环负责将消息派发到相关的窗口上使用关联的窗口过程函数进行处理。24、double+int+‘A’,最后输出是什么类型的?2、消息循环:应用程序通过消息循环不断获取消息、处理消息。5、STL中vector,list,map,set。7、C++中内存分配情况,深拷贝和浅拷贝的区别?
2024-07-26 13:28:36 368
原创 指针常量和常量指针的区别
/*p1 = 56;//Error,*p1是const int的,不可修改,即常量指针不可修改其指向地址。//OK,指针还可以指向别处,因为指针只是个变量,可以随意指向;//OK,仍然可以通过原来的声明修改值,//-------常量指针-------
2024-07-26 13:27:28 261
原创 C++虚函数表(多态的实现原理)
请看下面的程序,该程序演示了多态类对象存储空间的大小#include using namespace std;class A{public:int i;virtual void func() {}virtual void func2() {}};class B : public A{int j;void func() {}};int main(){cout << sizeof(A) << ", " << sizeof(B); //输出
2023-04-21 10:33:27 157
原创 像素缓冲对象---PBO使用案例
PBO的创建和初始化类似于VBO,但是在使用的时候需要用到GL_PIXEL_UNPACK_BUFFER 和GL_PIXEL_PACK_BUFFER 这两个令牌,其中GL_PIXEL_UNPACK_BUFFER绑定表示该PBO用于将像素数据从程序(CPU)传送到OpenGL中;绑定为GL_PIXEL_PACK_BUFFER表示该PBO用于从OpenGL中读回像素数据。**
2023-03-24 16:43:25 612
原创 像素缓冲对象(PBO)
OpenGL pixel_buffer_object 扩展非常接近。它只是扩展出 vertex_buffer_object扩展,以便不仅将顶点数据并且将像素数据也存储到缓冲区对象中。这种存储像素数据的缓冲对象称为像素缓冲对象(PBO)。扩展借用了所有 VBO 框架和 API,此外还添加了 2 个额外的“target”令牌。这些令牌协助 PBO 内存管理器(OpenGL 驱动程序)确定缓冲对象的最佳位置;系统内存、共享内存或显存。将像素数据传输到 PBO,或将像素数据从 PBO 传输。例如,
2023-03-24 14:15:09 503
原创 渲染缓冲区对象附加项(renderbuffer object attachments,abbr to RBO)
以往的渲染,OpenGL在渲染循环中,先进行默认buffers绑定,所有的渲染操作和设置,包括深度和模板值的数据,都存储在那个默认的framebuffers里,最后再由glfwSwapBuffers函数,把默认buffers的所有计算和设置,包括深度、模板、颜色的值,全部取出,放到屏幕缓冲区里,换言之,就是显示到了屏幕上。rbo就像fbo一样,是帧缓冲区附加项的一种类型,它可以是任何字节的、整型的、像素的或其他类型的数组。//附加渲染缓冲对象。创建对象,绑定和调用。
2023-03-24 13:32:19 229
原创 OpenGL之FBO
OpenGL 管线渲染的最终目的地就是FrameBuffer(帧缓冲),前面写的很多渲染操作等都是在默认的帧缓冲进行操作的,这个默认的帧缓冲是在我们创建Surface的时候自动创建和配置好的,这个OpenGL ES默认的帧缓冲是由窗口系统提供的,是默认显示到屏幕上的,我们现在的需求是不显示到屏幕中,所以用Frame Buffer Object来实现。FBO是一组颜色、深度、模板附着点。纹理对象可以连接到FBO中的颜色附着点和深度附着点,另一种连接到深度附着点和模板附着点的叫做渲染缓冲对象(RBO)。
2023-03-24 10:57:50 582
原创 gloox连接至openfire
gloox连接至openfire在使用gloox之前,有必要先提一下XMPP协议这个东东。XMPP协议是一个基于互联网的即时通信标准协议。它采用XML技术,以文本的方式传输即时消息。支持动态自定义扩展应用。与传统的网络协议相比,如QQ等,XMPP协议并不是一个基于二进制方式实现的协议,而是基于XML技术的文本方式,也就是说如果不采用加密技术的话,是可以直接查看发送的消息的。
2023-03-22 14:41:54 128
原创 ffmpeg音频采集、编码
不同于视频采集一帧编码一帧,音频采集和编码之间稍微复杂一些,记录下相关内容音频采集在windows上获取音频的方法,主要尝试了2种,效果差不多。一种是通过ffmpeg的dshow获取,另一种是直接从windows的Core Audio API 来获取。通过这两种方式采集到的音频的采样率都是当前声音播放的扬声器的采样率。ffmpeg dshow 采集使用dshow抓屏需要安装抓屏软件:screen-capture-recorder。在命令行用dshow:ffmpeg -f dshow -i vid
2022-01-10 18:37:37 3245
原创 c++继承和派生
执行派生类构造函数的顺序为:1)调用基类的构造函数,初始化基类的数据成员;2)初始化派生类的数据成员;3)执行派生类的构造函数本身。派生类的析构函数相对简单,与无继承关系的普通类的析构函数形式相同。执行析构函数的顺序为:1)调用派生类的析构函数;调用基类的析构函数...
2021-12-13 18:19:50 681
转载 void getmemory(char *p) { p=(char*)malloc(100); }
错误程序:void GetMemory( char *p ){ p = (char *) malloc( 100 );}void Test( void ){ char *str = NULL; GetMemory( str ); strcpy( str, “hello world” ); printf( “%s”,str );}这个一个考验对指针理解的题目,上面程序在运行之后:1,调用GetMemory( str )后, str并未产生变化,依然是NULL.只是改变的str的一个拷
2021-12-13 17:58:14 10400
原创 C++中 ++a和a++区别
int a = 0;int b = 0;int c = a++;(先进行将a赋值给c,a在自增) c=0;a=1int d = ++b;(先进行b自增,再将值赋值给d) d=1;b=1
2021-12-13 17:56:10 868
原创 C++为类中提供类成员的初始化列表
C++为类中提供类成员的初始化列表类对象的构造顺序是这样的:1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员2.进入构造函数后在构造函数中执行一般计算1.类里面的任何成员变量在定义时是不能初始化的。2.一般的数据成员可以在构造函数中初始化。3.const数据成员必须在构造函数的初始化列表中初始化。4.static要在类的定义外面初始化。5.数组成员是不能在初始化列表里初始化的。6.不能给数组指定明显的初始化。这6条一起,说明了一个问题:C++里面是不能定义常量数组的!因为3和5
2021-12-13 17:52:15 140
C++ 使用Windows API实现对多级文件路径的压缩和解压
2019-10-17
用windows自带的mstscax.dll开发的远程桌面控制
2019-04-11
qt实现俩张图片的拼接
2019-01-02
Qt+Onvif+FFmpeg 实时显示控制球机
2018-09-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人