- 博客(42)
- 资源 (11)
- 收藏
- 关注
原创 Vulkan vertex buffer绑定过程
代码侧调用vkCmdBindVertexBuffers告诉gpu从哪个binding位置读取顶点数据(即vkCmdBindVertexBuffers的firstBinding参数,与shader中layout的binding完全没关系,这点在后面的descriptor章节再讲)。本例画6个三角形,对于编号i的三角形,会读取顶点数据vertices[0],vertices[1],vertices[2]以及中心点位置instancePosData[i]。gpu知道了从哪里读数据,但是怎么读?
2023-12-28 15:11:34 574
原创 C++读写文件
ios::out = 0x02, //供写,文件不存在则创建,若文件已存在则清空原内容(ofstream默认的打开方式)ios::app = 0x08, //供写,文件不存在则创建,若文件已存在则在原文件内容后写入新的内容,指针位置总在最后。ios::in = 0x01, //供读,文件不存在则创建(ifstream默认的打开方式)ios::nocreate = 0x20, //文件不存在时产生错误,常和in或app联合使用。ios::binary = 0x80 //二进制格式文件。
2023-12-11 13:46:11 256
原创 notepad++删除整行
3. 按Home键 -> Shift+End -> delete 2次。2. 鼠标在任意一行内容上单击,使光标停在这行。1. 菜单中的【宏】-【开始录制】4. 菜单中的【宏】-【停止录制】5. 菜单中的【宏】-【保存录制】6. 设置快捷键 Ctrl+E。
2023-12-10 17:15:58 1355
原创 联想拯救者刃7000K蓝屏修复方法
1. 安装刃7000K-28IMB蓝屏死机修复工具: 刃7000-28IMB刃7000K-28IMB蓝屏死机修复工具-联想知识库 (lenovo.com.cn)2. 禁用NVIDIA USB 3.10可扩展主机控制器:右击我的电脑-管理-设备管理器-通用串行总线控制器。
2023-12-10 17:15:13 459
原创 一种简单加载vulkan动态库的方法
这里有个小tip:vkCreateInstance 在vulkan_core.h中的声明是被宏VK_NO_PROTOTYPES括起来的,我们得在cmake中添加该宏定义add_definitions(-DVK_NO_PROTOTYPES),不让 vulkan_core.h中对原生的vk api进行声明,这样我们就可以在load.h中对原生的vulkan api进行声明了。在麒麟、龙芯、鲲鹏等各种系统上都经历过手工编译vulkan sdk,为了更快的测试vulkan兼容性以及调试应用,一直在找更简易的方法。
2023-12-10 15:20:25 1435
原创 errno以及strerror
整理了一下linux下常用的errno,以及对应的解释,欢迎指正code errno strerrorEPERM 1 操作不允许(Operation not permitted)ENOENT 2 没有文件或目录(No such file or directory)ESRCH
2016-08-29 14:26:32 1193
原创 setsid的作用
百度了一圈setsid的作用,基本都是一个抄袭一个,真的是太桑心,引用百度百科原话:当进程是会话的领头进程时setsid()调用失败并返回(-1)。setsid()调用成功后,返回新的会话的ID,调用setsid函数的进程成为新的会话的领头进程,并与其父进程的会话组和进程组脱离。由于会话对控制终端的独占性,进程同时与控制终端脱离。这段解释比较费解,用代码说明:#
2016-08-27 18:04:03 12685 1
原创 shmget报错Invalid argument
一、先看测试代码#include #include #include #include using namespace std;int main(){ //int key=83886080; int key=53882300; int size=104595456; int rtn = shmget(key,size,IPC_CREAT|0666
2016-08-23 21:39:54 6892
转载 参数传递二维数组
本文转载自:http://blog.csdn.net/yunyun1886358/article/details/5659851今天在论坛上有朋友提问:声明函数如下void function(int** pInt),意图是想参数传递一个二维数组。于是就定义了一个二维数组,比如 int[1][1],然后调用函数。结果如何?当然是失败了,编译器提示:cannot convert par
2016-08-20 00:50:11 302
原创 编译报错"field has incomplete type"
linux下编译C++代码报错,报错信息"field has incomplete type"。这种问题一般都是在头文件对类或者结构体进行了前向声明,后面使用了该类定义了对象,导致编译报错原因在于前向声明类或者结构体,此时编译器还不知道定义,无法知道类内部成员,因此无法构造实例对象。因此前向声明的类或者结构体只能用来定义指针或者引用class TFriger;template
2016-06-22 18:17:48 61997 1
原创 strlwr
原型char *strlwr(char *str, char ch, unsigned n);功能字符串中的大写字母转换为小写。返回值返回指向s的指针注意strupr不是标准C库函数,只能在VC中使用。在linux gcc环境下需要自行定义这个函数。示例#include #include void main(void){
2016-06-16 17:00:58 3596 1
原创 strtok
原型char* strtok(char* s,const char* delim)功能分解字符串为一组字符串,s为要分解的字符串,delim为分隔符字符串,当在参数s 的字符串中发现到字符串delim 时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s 字符串,往后的调用则将参数s 设置成NULL。每次调用成功则返回下一个分割后的字符串指针
2016-06-16 16:18:09 2049
原创 strstr
原型char *strstr(char *str1, const char *str2);功能搜索str2在str1中的第一次出现返回值若str2是str1的子串,则返回str2在str1的首次出现的地址如果str2不是str1的子串,则返回NULL示例#include #include void main(void){ cha
2016-06-16 00:12:25 666
原创 strrev
原型char *strrev(char *s);功能把字符串s的所有字符的顺序颠倒过来返回值指向颠倒顺序后的字符串指针示例#include #include void main(void){ char sStr[100]; sStr[0] = '\0'; strcpy(sStr,"Golden Global View
2016-06-16 00:05:09 677
原创 strrchr
原型char *strrchr(const char *str, char c)功能从str的右侧开始查找字符c首次出现的位置。返回值如果找到查找字符,则返回这个位置的地址。如果没找到,则返回NULL示例#include #include void main(void){ char sStr1[100]; sStr1[0
2016-06-15 23:55:57 4398
原创 strpbrk
原型char *strpbrk(char *str1, char *str2)功能比较字符串str1中是否有str2中的字符。返回值如果找到,则返回str1中该字符位置的指针。如果没找对,则返回NULL示例#include #include void main(void){ char sStr1[100],sStr2[100],
2016-06-15 23:31:40 430
原创 strlwr
原型char *strlwr(char *str, char ch, unsigned n);功能字符串中的大写字母转换为小写。返回值返回指向str的指针示例#include #include void main(void){ char sTmp[100]; sTmp[0] = '\0'; strcpy(sTmp,"
2016-06-15 19:53:54 619
原创 strnset
原型char *strnset(char *str, char ch, unsigned n);功能将一个字符串中的前n个字符都设为指定字符ch。示例#include #include void main(void){ char sTmp[100]; //memset(sTmp,0,sizeof(sTmp)); 注:千万不能将首位置0,否
2016-06-14 22:08:00 811
原创 strerror
原型size_t strerror(const char *s, const char * reject);功能获取系统错误信息或打印用户程序错误信息,与错误码error配合使用。示例#include #include void main(void){ extern int errno; FILE *fp = NULL;
2016-06-14 21:50:18 359
原创 strspn
原型size_t strspn(const char *s, const char * reject);功能若strcspn()返回的数值为n, 则代表字符串s 连续有n 个字符都包含reject 内的字符.示例#include #include void main(){ char *s="Golden Global View"; cout
2016-06-14 21:31:59 1756
原创 strcspn
原型size_t strcspn(const char *s, const char * reject);功能若strcspn()返回的数值为n, 则代表字符串s 连续有n 个字符不含字符串reject 内的字符.示例#include #include void main(){ char *s="Golden Global View"; c
2016-06-14 21:23:58 518
原创 strnlen
原型int strnlen(char *str, int maxlen);功能计算字符串str的长度,不包括结束符NULL,长度最大为maxlen注意strnlen比strlen多一个参数,就是数据总体长度,当检测到字符串长度比数据总体长度还长(就是给定数据长度范围内没有结束符'\0')时就会终止扫描。strnlen这个函数一般用于检测不可信的数据(如网络数据)
2016-06-12 15:28:39 4018
原创 strcmpi
原型int strcmpi(const char *s1,const char *s2);参数s1 - 字符串1s2 - 字符串2功能比较两个字符串大小不区分字母的大小写返回值当s1当s1=s2时,返回值= 0;当s1>s2时,返回正数。
2016-06-12 15:27:51 2047
原创 strcmp
原型int strcmp(const char *s1,const char *s2);参数s1 - 字符串1s2 - 字符串2功能比较两个字符串大小区分字母的大小写返回值当s1当s1=s2时,返回值= 0;当s1>s2时,返回正数。
2016-06-12 15:15:14 4545
原创 strchr
原型char *strchr(const char *s,char c);参数buf - 目的ch - 源count - 查找字节数功能查找字符串s中首次出现字符c的位置。返回值成功则返回要查找字符第一次出现的位置,失败返回NULL
2016-06-12 15:14:03 651
原创 memset
原型void *memset(void *s, int ch, size_t n);参数s - 目标内存ch - 设置的ASCII值n - 字节数功能将s中前n个字节用 ch 替换返回值返回指向s的指针。
2016-06-12 15:13:03 840
原创 memcimp
原型 int memcimp(const void *buf1, const void *buf2, unsigned int count);参数buf 1 - 比较串1buf2 - 比较串2count - 比较字节数功能比较内存区域buf1和buf2的前count个字节但不区分字母的大小写返回值当buf1 当buf1=buf2
2016-06-12 15:11:50 272
原创 memcmp
原型 int memcmp(const void *buf1, const void *buf2, unsigned int count);参数buf 1 - 比较串1buf2 - 比较串2count - 比较字节数功能比较内存区域buf1和buf2的前count个字节区分字母的大小写。返回值当buf1 当buf1=buf2时,
2016-06-11 20:22:21 2703
原创 memmove
原型void *memmove(void *dest, const void *src,unsigned int count);参数dest - 目的src - 源count - 复制字节数功能由src所指内存区域复制count个字节到dest所指内存区域。返回值返回指向dest的指针。注意如果目标区域和源区域有重叠的
2016-06-11 20:21:17 290
原创 memccpy
原型void *memccpy(void *dest, const void *src, unsigned char c, unsigned int count);参数dest - 目的src - 源c - 复制停止字符count - 复制字节数功能由src所指内存区域复制不多于count个字节到dest所指内存区域,如果遇到字符c则停
2016-06-11 20:09:04 856
rubyinstaller-devkit-2.7.1 windows64位安装包
2020-12-06
Mali_OpenGL_ES_Emulator-v3.0.2.zip.rar
2019-06-14
opengles.rar
2019-06-14
Visual Assist X 10.6.1850
2011-09-20
名校通信原理(6版)课件
2010-03-16
c&c++算法大全!应有尽有!!
2010-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人