自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

顾宇浩的技术分享

欢迎评论,说几句嘛 (~ ̄▽ ̄)~

  • 博客(19)
  • 收藏
  • 关注

原创 【中山大学编译原理课程】SYsU-lang实验攻略

你已经在理论课上了解到,每个语法解析树的结点都会和一些“属性”关联起来,不同结点有哪些属性一般都是不一样的,反映到代码里就是不同非终结符和终结符的语义值类型是不一样的,比如一个整数字面量可能对应一个int,而一个字符串字面量可能对应一个char*,所以总的而言文法符号的语义类型是这些类型的“或”,也就是一个联合类型,对应C中的联合体union。但是,使用联合体是十分容易出错的,Bison考虑到了这一点,所以它提供了%union和$n机制代替我们直接编写和操作联合体。在前言区,使用%union。

2023-03-13 20:12:19 1440 5

原创 多层感知机的区间随机初始化方法

训练是构建神经网络模型的一个关键环节,该过程对网络中的参数不断进行微调,优化模型在训练数据集上的损失函数。参数初始化是训练之前的一个重要步骤,决定了训练过程的起点,对模型训练的收敛速度和收敛结果有重要影响。多层感知机是一种被广泛使用的经典神经网络模型,本文针对多层感知机上的区间随机初始化方法展开了深入调查,通过对前人成果的分析和总结得到了一种改良的初始化方法,并对所得方法进行了对比实验。

2023-02-21 20:08:43 511

原创 圆角矩形的绘制和曲线均匀化

圆角矩形是软件 UI 等视觉设计中的常见表达,一种常见的绘制方法是将矩形的四角替换为与边相切的四分之一圆弧,然而这种绘制方式会在连接处产生视觉上的切折感,这是因为圆弧和直线的连接处只满足 G1G^1G1 连续性。本文探究了如何使用高次埃米尔特插值绘制高阶连续的圆角曲线,以及如何使用常微分方程的数值解法实现曲线的均匀化。

2023-02-21 19:11:08 1355 1

原创 用VSCode在共用服务器上使用连接自己的Docker容器进行开发

我们实验室有一台很牛的Linux服务器,核多卡多硬盘大,它是大家共用的,组里给我们每个人都创建了一个普通用户,没有sudo权限,所以不能用apt。但是每个人对开发环境的需求都是不一样的,比如我要用clang12他要用clang15,很容易就冲突了。而且众所周知Unix的权限就是鸡肋,实际使用时提防同僚不足而踩坑报错有余,没有root权限很多时候真的不方便。因此,要是我们每个人都有一个专属的Linux系统就好了,这正可以使用Docker的虚拟化功能实现。下面就介绍一下如何创建和连接一个“开发容器”,。

2023-02-12 11:07:50 1740

原创 为什么明明能上网,Windows却显示“无Internet”?

这个问题在使用Wi-Fi时最能感受到:在点击连接按钮或勾选自动连接时,进度条滚了一会就出现下面的界面:告诉我们计算机已经连接上这个Wi-Fi了,但没有连上公共互联网。从我个人经历来看,这个“无Internet”的提示大多数时候是放屁,因为无论是浏览网页还是登录QQ、微信都完全没问题,用得好好的。根据个人经验,有时有线网络也会被判定为“无Internet”,但是这时前一个问题通常不会发生。

2023-02-08 12:16:53 2772

原创 圆角矩形不是圆:圆角的画法和二阶连续性

如果在百度搜索圆角矩形的画法,那么多数结果都会告诉你,就是把一个普通矩形的拐角换成相切的 14\frac{1}{4}41​ 圆弧,就像 引文1 和 引文2 说的那样。然而,圆角就是圆弧加直线吗?诸君且看下面这张图片,试问哪条曲线更顺滑、圆角更圆润?

2022-11-16 00:11:21 1139 1

原创 科研素养:了解学术会议的形式和结构

国际上的那些“会”该怎么看?

2022-09-20 11:35:16 710

原创 gem5 & GPGPU-Sim 安装踩坑笔记

在Ubuntu 20.04上安装gem5和GPGPU-Sim的安装踩坑总结,总体过程还是比较顺利的。

2022-09-10 11:15:49 619

原创 让Windows CMD默认使用UTF-8代码页,解决一切恼人乱码问题!

中文Windows自带的命令行程序默认都是使用的936代码页,也就是GBK的编码,因此当程序以UTF-8编码输出文本时,就会看到乱码。

2022-08-07 17:13:01 2923 4

原创 C/C++ 字符串编码的相关问题

有没有和 std::string 一样好用的 Unicode 字符串类?如何在C/C++代码中方便地定义一个 Unicode 字符串字面量?如何从 std::cin、std::cout 读入输出一个 Unicode 字符串?……

2022-07-26 20:00:09 901

原创 Qt Creator + CMake 运行调试总会自动 build 所有目标

问题描述:使用 Qt Creator + CMake 的开发工具搭配时,每次运行或者调试时(绿色三角),默认情况下,总会把项目中的所有目标(Targets)都构建一遍。且不说这样会不会很费时,另一个问题是,如果项目的某个目标有错误,即使你要运行、调试的目标根本就不依赖它,也会导致程序启动失败:这个问题会带来很大的不方便,导致开发效率的降低。解决方案:出现这个问题是因为 Qt Creator 的默认构建指令是 --target all,只需要在项目里把构建对象改成“current executable

2021-11-08 19:37:01 602 1

原创 梳理一下自己常用的快捷键

背景写的程序越多,越会发现快捷键的重要性,可是我的快捷键习惯却经过各种编辑器、IDE的调教后变得混乱不堪,是时候挑一款键映射站队了。主流的键映射Visual Studio (先入为主)我最早接触的IDE,【Ctrl + K, Ctrl + D】撸直代码就是就是从它这里学的,用得是如此频繁,以至于只为这一项我可能就站队这一款键映射。但是使用得频繁也意味着习惯很容易纠正,此外这一套键映射有好些地方设计的都与其他人格格不入,可能导致一旦依赖上了,粘度非常大。Visual Studio Code

2021-05-16 10:40:17 106

原创 “档次法”——用于物品体积分布不均匀的01背包问题的求解方法

问题起因背包问题是什么,就不在此论述了,一般都用动态规划的方法来求解。我在网上搜了一圈,发现那些材料讲的算法都好像有点问题,先贴出来链接:https://www.bilibili.com/video/BV1K4411X766?from=search&seid=13075630596412642079https://www.cnblogs.com/mfrank/p/10533701.htmlhttps://baike.baidu.com/item/%E8%83%8C%E5%8C%85%E9

2021-02-28 21:59:58 165

原创 球面三角网格绘制算法(附OpenGL代码)

本文给出的代码都是在原点处、半径为1的球面绘制代码。对于以任意点为球心、任意长度为半径的情况,可以通过使用glTranslated实现球的平移、glScaled实现球的缩放。编筐法如图所示,球的绘制是一层一层完成的,如同编一个竹筐。将球分为N层,所以共N+1条纬线,除了最顶上和最底下的两个纬线以外(因为已经退化为一个点),每条纬线均分M等份,相邻纬线交错均分,该处的均分指的是角度均分。如果只是要绘制如图所示的线框球,将每一层上的两个点与下一层的对应的点用三角形连线起来即可;如果要绘制完整球面,则

2020-12-26 23:32:34 5543 11

原创 可以“繁殖”的程序

编写这样一个py脚本文件:每次运行这个脚本文件,在工作目录下以随机文件名创建一个新文件,文件内容为这个py脚本自身。不能使用sys.argv[0],即不能借助操作系统的帮助。一种解答:m = r"""from random import samplechrs = [chr(i) for i in range(ord("A"), ord("Z") + 1)]with open("".join(sample(chrs, 5)) + ".py", "w") as f: print("m=r

2020-12-03 10:25:40 446 1

原创 什么是面向对象

本文内容纯属笔者代码写多了后的个人理解,如有疏漏请多多包涵,如有错误烦请指正,如有想法交流非常欢迎!在我刚开始学习编程的时候,“面向对象”一次曾经在很长一段时间内给我巨大的困惑。即使我在网上看了很多科普文章、科普视频,但是我看到的科普文章、视频并没有解决我的困惑(虽然现在回想起来,它们说的并不错),我相信很多非专业人士和新入门的小白都遇到和我一样的困难。前段时间,有个非专业的朋友也...

2020-02-26 21:47:26 3165 4

原创 使用概率论和数理统计知识来比较C++函数的优劣(应用概率统计方法的函数测试评价方案)

代码成品:https://github.com/user4898426/CppTiming一、问题引入:比较使用两种不同算法写出的相同效果的函数孰优孰劣、或者是只是探究编程语言的性质单纯比较两种代码写法谁快谁慢,这是很常见的需求。显然,最简单的方法是重复两个函数足够多的次数(比如一百万次),然后单纯地比较耗时的多与少。但是存在对于某些比较精细的问题,两种的耗时可能相差非常之小,以...

2019-09-04 20:43:09 556

原创 用C++编写的DLL(动态链接库)中,导出类的接口封装方法总结

注:.dll文件是Windows平台下的动态链接库文件,在Linux平台,有响应功能的文件是.so文件,.so文件接口的封装也可以参考此文的思路目录一、DLL项目结构介绍二、DLL项目示例1.文件 My_Dll_Project.h2.文件 My_Dll_Project.cpp3.修改后的文件 My_Dll_Project.h三、封装方法介绍1.再包装法1....

2019-08-09 17:08:34 8431 10

原创 C++11 之后参数传递的六种方式(一文解决所有C++11的传参情况)

建议直接复制代码运行测试//// C++11 之后参数传递的六种方式//#include <iostream>using namespace std;struct CpySpy{ unsigned count = 1; CpySpy() {} CpySpy(const CpySpy& obj) : count(obj.count + 1) {...

2019-07-13 12:50:53 1267

Qt Creator编辑器界面配色方案(GYH VSCode)

Qt Creator编辑器界面配色方案(GYH VSCode)

2024-02-02

空空如也

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

TA关注的人

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