• 2024-09-02【树莓派开发】gcc编译器中出现warning: #pragma once in main file
    众所周知,#pragmaonce语句是防止头文件重复包含非常常用的一条语句VS编译器在创建.h文件的时候会自动帮你在开头添加这个语句但是在gcc编译器下,这个语句就可能会出现一些问题所使用编译器:VS2019(windows10)树莓派(linux-gcc)warning:#pragmaonceinmainfile在我尝试在linux环境
  • 2024-08-29C++火车头修订版
    #pragmaGCCoptimize(3)#pragmaGCCtarget("avx")#pragmaGCCoptimize("Ofast")#pragmaGCCoptimize("inline")#pragmaGCCoptimize("-fgcse")#pragmaGCCoptimize("-fgcse-lm")#pragmaGCCoptimize("-f
  • 2024-08-26【C语言】宏定义详解---老公出轨版 (づ◡﹏◡)づ
    目录C语言宏定义详解1.宏定义关键词总览2.`#define`3.`#undef`4.`#ifdef`5.`#ifndef`6.`#if`7.`#else`8.`#elif`9.`#endif`10.`#include`11.`#error`12.`#pragma`12.1`#pragmaonce`12.2`#pragmapack`12.3`#pragmawarning`12.4`#pragmaGCC`13.`#li
  • 2024-08-19C++图笔记(三)有向无环图(及最小生成树(略))以及剩下的排序
    目录一,定义:1,有向无环图 2,拓朴排序 1,每个顶点出现且仅仅出现一次。 2,若存在一条从顶点A到顶点B的路径,那么在序列中顶点A出现在顶点B的前面。二,DAG的性质性质1.  从任意一个起点进行dfs,必不会陷入死循环。性质2.  入度为0的点信息确定,删掉入度为0的点
  • 2024-08-17杂项
    位运算加速技巧乘/除以\(2^n\),改为<<n或>>n交换两个数,swap(a,b)改为a^=b,b^=a,a^=b小数转整数,(int)3.14改为3.14>>0正负号转换,x=-x改为x=~x+1当\(x=2^n\)时,%x改为&(x-1)检查是否整除\(2\)时,i%2改为i&1求绝对值,abs(x)改为(
  • 2024-08-12CF896E Welcome home, Chtholly
    [题目通道](Welcomehome,Chtholly-洛谷)#include<iostream>#pragmaGCCoptimize(1)#pragmaGCCoptimize(2)#pragmaGCCoptimize(3)#pragmaGCCtarget("avx")#pragmaGCCoptimize("Ofast")#pragmaGCCoptimize("inline")#pra
  • 2024-06-22C++ 结构体对齐详解
    目录前言一、为什么要对结构体进行对齐操作?二、基本概念三、对齐规则四、示例讲解1.简单的变量对齐2.结构体包含有结构体的对齐结构体成员详细解析五、使用指令改变对齐方式__attribute__((packed))#pragmapack(push,n)#pragmapack(pop)六、总结前
  • 2024-06-20黑加白 Dll 劫持及防护
    白加黑技术是一种利用动态链接库(DLL)劫持技术来绕过安全软件的主动防御机制的方法。攻击者通过某种方式(如修改系统注册表、替换或修改合法的DLL文件等)使白文件在运行时加载恶意的DLL而不是它原本应该加载的合法DLL。DLL劫持(有时也称为DLL侧加载或DLL预加载)是一种技术,它
  • 2024-06-18Vitis HLS 学习笔记--Stream Chain Matrix Multiplication
    目录1.简介2.示例解析2.1示例功能说明2.2函数说明 2.2.1 mmult函数2.2.2 mm2s函数2.2.3 s2mm函数2.2.4总示意图3.总结1.简介这是一个包含使用数据流的级联矩阵乘法的内核。该内核启用了ap_ctrl_chain,以展示如何重叠多个内核调用队列以提供更高的性
  • 2024-06-13c++防止头文件重复
    在C++的头文件中,为了防止重复包含,需要使用预处理指令#pragmaonce或者传统的条件编译方式。下面分别详细说明这两种方式的写法及作用:#pragmaonce使用#pragmaonce指令:#pragmaonce是一种简便的方式,可以确保头文件只被编译一次。在头文件的开头加入#pragmaonce即可,示例
  • 2024-06-11[ToneTuneToolkit][023]UGUI的去色,使UI元素变为灰色
    #regionEnvironmentWindows1022H2Unity2022.3.30f1LTSVSCode1.90.0//ToneTuneToolkit下载地址// https://github.com/MirzkisD1Ex0/ToneTuneToolkit.git#endregion 把UGUI的元素去色!变成灰色!!!超级方便!//该项功能已包含至ToneTuneToolkit插件  01.新建场景,新建
  • 2024-06-04URP案例(较重要)
    简约水面场景准备:水底和水面的示例物体天空球和天空球一样的Cubemap组成部分深度颜色水下扭曲泡沫高光反射焦散代码部分github地址:有注释,就不写了详细过程了C# usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;namespaceU
  • 2024-06-04C/C++结构体对齐测试
    #include<stddef.h>#include<iostream>structs1{inta;intb;};#pragmapack(8)structs2{charc;inta;doubleb;};structs3{charb[10];doublea;};#pragmaunpackstructs4{c
  • 2024-05-28C++中的异类:“#” 符号背后的故事
    最近在写编程语言的书,聊到C++的宏,感觉很有意思,搬运过来。在C++语言中,# 符号是一个独特的符号。它似乎不在语言核心中,但是在源码里却又无处不在。在语法上,#的语法规则在C++体系里独具一格,和C++语法相比像是两个语言似的。这些差别让我们感受到#背后的故事不简单。今天,我们
  • 2024-05-24Unity Shader介绍
    1.Shader的基本概念什么是Shader?Shader是小型程序,用于在GPU上运行,处理顶点、像素或其他图形处理单元。Unity主要使用以下两种Shader:顶点Shader(VertexShader):处理每个顶点的数据,如位置、颜色和纹理坐标。片段Shader(FragmentShader):决定每个像素的颜色。Unity中的Shader类型
  • 2024-04-27C++火车头
    点击查看火车头#pragmaGCCoptimize(3)#pragmaGCCtarget("avx")#pragmaGCCoptimize("Ofast")#pragmaGCCoptimize("inline")#pragmaGCCoptimize("-fgcse")#pragmaGCCoptimize("-fgcse-lm")#pragmaGCCoptimize(
  • 2024-04-24将C++代码文件路径、行号、函数名称等打包到#pragma message输出的方法
    #include<iostream>#define__GEN_STRING_IMPL(x)#x#define__GEN_STRING(x)__GEN_STRING_IMPL(x)#define__GEN_LOCATION_STRING()__FILE__"("__GEN_STRING(__LINE__)"):"classCTestObject{public:voidprint1(){
  • 2024-04-08CF1951E No Palindromes 题解
    题目大意给出一个字符串sss,要求将sss分为若干个非回文子串,输出
  • 2024-03-31洛谷 P8405 [COCI2021-2022#6] Naboj 题解
    题意简述给定一张无向图,每条边有个哨兵,初始在边的中间。你可以把某个结点旁边的哨兵全部吸引或远离这个结点。给出最后每个哨兵在边的哪一端,请构造出一种可能的操作方案或报告无解。多种情况输出任意解,你不需要最小化操作步数。题目分析发现一个哨兵和且仅和最后一次关联这条边
  • 2024-03-31OpemMP 同步结构
    为了说明同步,我们先来看如下多线程加法的问题,假设x初值为0:THREAD1:THREAD2:Highlevelcodeincrement(x){x=x+1;}increment(x){x=x+1;}AssemblyLOADA,(xaddress)ADDA,1STOREA,(xaddress)LOADA,(xaddress)ADDA,1STOREA,(xaddres
  • 2024-03-30Acwing 5475. 聚会 ( BFS )
    https://www.acwing.com/problem/content/5478/输入样例1:5543124321223344145输出样例1:22223输入样例2:76321233221122334255667输出样例2:1112211#pragmaGCCdiagnosticerror"-std=c++11"#pragmaGCCtarget(
  • 2024-03-30yii2响应(Responses)
    yii2响应(Responses)状态码Yii::$app->response->statusCode=200;异常yii\web\BadRequestHttpException:statuscode400.yii\web\ConflictHttpException:statuscode409.yii\web\ForbiddenHttpException:statuscode403.yii\web\GoneHttpException:
  • 2024-03-28CF1936E 做题记录
    link设\(P_i=\max(p_1,p_2,...,p_i)\)。首先转容斥,方便计算。接下来容斥的点很巧妙:钦定哪些前缀最大值重合(非位置),我们可以把这个前缀最大值放在第一次重合的位置计算。设\(f[i]\)表示考虑了前\(i\)个位置,并且\(i\)是钦定的前缀最大值的第一个重合位置,带符号的方案数之
  • 2024-03-26一些常见的简单优化
    1:输入优化readios::sync_with_stdio(0),cin.tie(0),cout.tie(0);namespaceio{ constllBUFSIZE=1<<20; charibuf[BUFSIZE],*is=ibuf,*it=ibuf; charobuf[BUFSIZE],*os=obuf,*ot=obuf+BUFSIZE; inlinechargetch(){ if(is==it)it=(is=ibuf)+fread(ibuf,1,BUF
  • 2024-03-22C语言预编译#pragma宏的作用
    在嵌入式编程中,#pragma指令具有非常重要的作用,因为它允许开发者在不同的编译器之间传达特定的编译指令。由于嵌入式编程通常与硬件紧密相关,且资源有限,这些指令可以帮助开发者更有效地利用可用资源,优化程序,以及处理特定的硬件约束。以下是#pragma在嵌入式编程中的一些常见应用