自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 收藏
  • 关注

原创 OpenGL 和 OpenGL ES 2.0/3.X 一致性测试说明(CTS)

本文档介绍如何构建、移植和运行 OpenGL 和 OpenGL ES 2.0/3.X 一致性测试,以及如何验证和提交测试结果。@[TOC]目录。

2023-12-04 14:12:11 663

原创 OpenGL 着色语言

OpenGL 着色语言 (GLSL) 是一种高级着色语言,其语法基于 C 编程语言。它由 OpenGL ARB(OpenGL 架构审查委员会)创建,旨在让开发人员更直接地控制图形管道,而无需使用 ARB 汇编语言或特定于硬件的语言。

2023-12-04 10:55:16 302

原创 编译器和 IR:LLVM IR、SPIR-V 和 MLIR

IR 对编译器至关重要。就像有许多编译器一样,也有许多 IR 在使用中。到目前为止,我很幸运能与三所主要的 IR 或基础设施学校有直接经验——LLVM IR、SPIR-V、MLIR,尤其是最近两个研究,我都在早期阶段就加入了开发。因此,我想写一系列博客文章来记录我对编译器和 IR 的理解。希望它能对其他人有益。

2023-12-01 16:51:01 826 2

原创 How to Use Glslang

除了手动构建,您还可以直接从 GitHub 上的main-tot 版本下载适合您平台的二进制文件,这些二进制文件在成功测试后由构建机器人自动上传,并且它们始终反映main分支的最新状态。要使用独立的二进制形式,请执行glslang,它将打印一条使用语句。基本操作是给它一个包含着色器的文件,它会打印出警告/错误以及可选的 AST。

2023-08-03 09:48:08 1122

翻译 OpenGL ES着色语言Spec(V1.00)

OpenGL ES 着色语言,简称 GLSL ES 或 ESSL,本规范是基于 OpenGL 着色语言1.2版本的。这个文档描述了OpenGL ES着色语言;OpenGL ES管线包含一个可编程的顶点阶段和一个可编程的片段阶段。其余的阶段被称为固定功能(fixed function),应用程序对它们的行为只有有限的控制。

2023-08-01 17:34:16 640

原创 生成高阶语言结构的IR_2

相关代码抛出和捕获异常基于类型的别名生成元数据的分析添加调试元数据总结

2023-07-12 00:45:36 65

原创 生成高级语言结构的IR_1

相关代码使用数组、结构体和指针正确的获取二进制程序的结口为类和虚函数创建IR代码总结

2023-07-12 00:42:43 67

原创 生成 IR

相关代码使用AST生成IR使用AST编码生成SSA形式的IR设置模块和驱动程序总结

2023-07-12 00:39:32 64

原创 将源代码转换成抽象语法树

相关代码定义一种编程语言创建项目结构管理源文件和用户消息构建词法分析器构建梯度下降解析器用bison和flex生成解析器和词法分析器执行语义分析总结

2023-07-12 00:36:12 131

原创 构建 LLVM

安装 LLVM浏览 LLVM编译器结构

2023-07-12 00:17:17 88

原创 如何让计算机“学习”

什么是机器学习支持向量机Python交互模式的使用方法准备学习数据查看手写数字数据的内容通过机器学习识别手写数字尝试交叉验证

2023-07-07 02:18:12 39

原创 访问硬件的方法

应用程序是否与硬件有关负责硬件输入输出的in指令和out指令外部设备的中断请求通过中断实现实时处理能够快速处理大量数据的DMA显示字符和图像的原理

2023-07-07 01:58:10 40

原创 通过汇编语言认识程序的真面目

汇编语言和本机代码是一一对应的用c编译器输出汇编语言源代码伪指令与注释汇编语言的语法是“操作码 操作数”最常用的movl指令将数据存入栈中函数调用的工作原理被调用函数的工作原理全局变量和局部变量的工作原理循环的工作原理条件分支的工作原理体验汇编语言的意义

2023-07-07 01:50:35 42

原创 操作系统与应用程序的关系

从历史发展看操作系统的功能关注操作系统的存在系统调用与高级编程语言的可移植性操作系统和高级编程语言对硬件进行了抽象化Windows操作系统的特点

2023-07-06 19:40:28 67

原创 从源文件到可执行文件

计算机只能执行本机代码看一看本机代码的内容编译器负责翻译源代码仅靠编译无法得到可执行文件启动代码与库文件DLL文件与导入库运行可执行文件需要什么加载时生成的栈和堆进阶问答

2023-07-06 19:33:44 46

原创 程序在怎样的环境下运行

运行环境=操作系统+硬件Windows消除了CPU之外的硬件差异每种操作系统的API都是不同的使用源代码进行安装在任何地方都能提供相同运行环境的Java虚拟机云计算平台提供的虚拟运行环境BISO与引导装入程序

2023-07-06 16:38:44 50

原创 自己动手压缩数据

文件是以字节为单位记录的游程编码的原理游程编码的缺点从莫尔斯码中发现哈夫曼算法的基础使用树来构建哈夫曼编码通过哈夫曼算法大幅度提高压缩率无损压缩与有损压缩

2023-07-06 13:39:44 45

原创 内存与磁盘的密切关系

程序加载到内存之后才能运行提高磁盘访问速度的磁盘缓存将磁盘当成内存使用的虚拟内存将内存当成磁盘使用的固态硬盘节约内存的编程技巧了解一下磁盘的物理结构

2023-07-06 13:35:48 48

原创 让内存化方为圆

内存的物理结构十分简单内存的逻辑结构像一幢大楼指针其实很简单用好内存先从数组开始栈与队列,以及环形缓冲区在链表中添加和删除元素很容易用二叉查找树高效地查找数据

2023-07-05 19:18:37 44

原创 计算机在计算小数时会出错的原因

将0.1累加100次的结果不是10如何用二进制表示小数计算机计算出错的原因什么是浮点数规格化表示法与移码表示法用程序来实际确认一下吧如何避免计算机计算出错

2023-07-05 16:16:40 60

原创 用二进制来理解数据

计算机用二进制处理信息的原因二进制到底是什么移位运算与乘除运算的关系便于计算机处理的“2的补码”逻辑右移与算术右移的区别掌握逻辑运算的窍门

2023-07-05 11:31:07 61

原创 对程序员来说,CPU到底是什么

对程序员来说,CPU到底是什么

2023-07-05 11:19:24 46

原创 跟我一起学 Makefile

跟我一起学 Makefile

2022-06-12 16:23:20 134 1

原创 解决Ubuntu 20.04无法播放网页音视频的问题

解决Ubuntu 20.04无法播放网页音视频的问题许久未动Linux了,就这么来到了20.04,双系统装上之后却发现网页的音视频无法打开,翻了网上很多帖子,发现好多都无法解决我的问题,而且很浪费时间,故在解决之后记录自己的解决方法。So easyUbuntu 20.04自带的Firefox浏览器,在默认情况下,不能播放网页的视频和音频,是因为系统此时缺少解码器,安装方法如下:sudo apt install ffmpeg安装成功后,重新启动Firefox即可。完毕。...

2021-05-30 23:31:07 4287 4

原创 &LeetCode0240&搜索一个二维数组之二

题目编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, 21, 23, 26, 30] ]给定 target = 5,返回 true。给定 target

2020-08-18 01:02:02 135

原创 &LeetCode0215&数组中的第K个最大元素

leetcode

2020-05-16 18:28:52 118

原创 【华为机试在线训练】四则运算

题目请实现如下接口/* 功能:四则运算 * 输入:strExpression:字符串格式的算术表达式,如: "3+2*{1+2*[-4/(8-6)+7]}" * 返回:算术表达式的计算结果 */public static int calculate(String strExpression){ /* 请实现*/ return 0;} 约束:pucExpression字符串中的有效字符包括[‘0’-‘9’],‘+’,‘-’, ‘*’,‘/’ ,‘(

2020-05-12 09:17:27 403

原创 IC设计流程

IC设计流程描述IC设计流程分块介绍系统总体规划(system global plan)项目策划完成,领导开始让工人们干活。首先就是高级工人—系统算法工程师根据要求,搞一堆算法出来,看看哪一个比较符合老大的项目策划书要求;系统架构工程师根据系统算法工程师提出的算法,想想怎么用详细的特定功能硬件实现,发现算法的硬件实现比较坑爹,就去找系统算法工程师理论。然后这两类系统工程师通过对系统的方...

2020-04-12 00:51:37 809

原创 &LeetCode0110& 平衡二叉树

题目给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7]3/ 9 20/ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4]1/ 2 2/ ...

2020-04-11 13:17:46 83

原创 &LeetCode0083& 删除排序链表中的重复元素

题目给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3来源:力扣(LeetCode)思路遍历整个链表,将每个结点和其后面的结点比较,如果结点值相同,将前面结点的 next 指针跳过紧挨着的相同...

2020-04-01 17:49:38 101

原创 &LeetCode0066& 加一

题目给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。...

2020-04-01 17:28:09 90

原创 &LeetCode0058& 最后一个单词的长度

题目给定一个仅包含大小写字母和空格 ’ ’ 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0 。说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。示例:输入: “Hello World”输出: 5来源:力扣(LeetCode)思路只关注最后一个单词的长度,所以从字符串末尾开...

2020-04-01 17:06:01 69

原创 &LeetCode0038& 外观数列

题目「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:1112112111112211 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即 21。21 被读作 “one 2”, “one 1” (“一个二” , “一个一”) , 即 1211。给定一个正整数 n(1 ≤...

2020-03-31 23:07:16 108

原创 对C++中substr()、c_str()、atoi()函数的理解

substr()substr操作返回的是一个string,它是原始string的一部分或全部的拷贝。可以传递给substr一个可选的开始位置和计数值:string s("hello world");string s2 = s.substr(0, 5); //s2 = hellostring s3 = s.substr(6); //s3 = worldstring...

2020-03-25 23:27:18 739

原创 &LeetCode0093& 复原IP地址

题目给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例:输入: “25525511135”输出: [“255.255.11.135”, “255.255.111.35”]来源:力扣(LeetCode)思路两个经验:第一,凡是字符串的子序列或配准问题应考虑动态规划DP,第二,需要求出所有可能情况首先考虑用递归。首先,这道题符合第二种情况,所以我们要用递归来解...

2020-03-25 22:34:16 102

原创 【华为机试在线训练】字符串分隔

题目•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。输入描述:连续输入字符串(输入2次,每个字符串长度小于100)输出描述:输出到长度为8的新字符串数组输入abc123456789输出abc000001234567890000000思路C++代码...

2020-03-25 10:42:49 123

原创 【华为机试在线训练】明明的随机数

题目明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能正确处理)。注:测试用例保证输入参数...

2020-03-21 16:57:10 181

原创 【华为机试在线训练】计算字符个数

题目写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。输入描述:第一行输入一个有字母和数字以及空格组成的字符串,第二行输入一个字符。输出描述:输出输入字符串中含有该字符的个数。示例1输入ABCDEFA输出1思路遍历、对比、计数;同一字母ASCII值相差32.C++代码#include<i...

2020-03-20 22:49:23 118

原创 【华为机试在线训练】字符串最后一个单词的长度

题目计算字符串最后一个单词的长度,单词以空格隔开。输入描述:一行字符串,非空,长度小于5000。输出描述:整数N,最后一个单词的长度。示例1输入hello world输出5思路使用 getline 的 C++ 函数,此函数可读取整行,包括前导和嵌入的空格,并将其存储在字符串对象中;然后从尾部遍历字符串,当为空格时,结束。C++代码#include<i...

2020-03-20 22:19:57 113

原创 &LeetCode0042& 接雨水

题目给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6思路基于动态规划(Dynamic Programming)的...

2020-03-16 21:03:50 102

空空如也

空空如也

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

TA关注的人

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