通过gcc或msvc,clang等编译器编译出来的C源文件是.o文件。在windows上也就是PE文件,linux为ELF文件,在这一步中,调用其它代码文件中的函数的函数地址是未知的(00000),等到链接之后才会替换掉函数地址的 linux,windows可执行文件(ELF、PE) C是如何编译的 C/C编译过程主要分为4个过程 编译预处理 编译、优化阶段 汇编过程 链接程序 编译游戏引擎的耗时 内网使用IB(incrediBuild)编译引擎时总耗时2分23秒,编译2分钟,link耗时15秒 在vs中提高c的编译速度 达到修改一行代码,10s内编译完,link会花点时间,因为所的工程...

  vWa2lMmTbsfJ   2023年11月02日   33   0   0 C++

宏的一些作用,包括但不限于这些 定义一个变量、字符串、类型 定义一个函数、条件表达式 条件编译、调试信息,异常类 定义结构体、命名空间 定义模版、枚举、函数对象 define宏定义在C中用于定义常量、函数、条件编译、字符串、条件表达式、变量、注释、调试信息、类型、函数等,下面是一些define宏定义的用法举例: 需要注意的是,define宏定义是一种文本替换,它不会进行类型检查和语法检查,容易出现错误。因此,在使用define宏定义时,应该遵循一些规范,例如使用大写字母来表示常量、使用括号来保证优先级等。同时,应该避免滥用define宏定义,以免影响代码的可读性和可维护性。 条件编译 d...

  vWa2lMmTbsfJ   2023年11月02日   30   0   0 C++

extern extern是C中的一个关键字,用于声明一个变量或函数是在其他文件中定义的。它的作用是告诉编译器在链接时在其他文件中寻找该变量或函数的定义。 在C中,如果一个变量或函数在多个文件中使用,那么就需要在每个文件中都声明一次该变量或函数。这时就可以使用extern关键字来声明该变量或函数是在其他文件中定义的。 除了在不同文件中共享变量和函数的定义、在函数中使用全局变量、在头文件中声明变量和函数、在类中声明静态成员变量外,extern还有一些其他的用法: 在模板中使用外部变量 在命名空间中使用外部变量 在静态库中使用外部变量 声明变量 例如,假设我们有两个文件a.cpp和b.cpp,...

  vWa2lMmTbsfJ   2023年11月02日   53   0   0 C++

pycharm社区版可用于商业项目 pycharm社区版可用于商业项目,来源于官方的回答:CanIuseCommunityEditionsofJetBrainsIDEsfordevelopingcommercialproprietarysoftware?–LicensingandPurchasingFAQ pycharm专业版和社区版功能对比表 PyCharmProfessionalEdition PyCharmCommunityEdition IntelligentPythoneditor ✔ ✔ Graphicaldebuggerandtestrunner ✔ ✔ ...

  vWa2lMmTbsfJ   2023年11月02日   43   0   0 Python

备份文件同步法 最传统的方法就是把配置文件备份,然后在其它电脑上通过导入的方式来恢复,这种方法在很多软件中都实测可行。 具体对应到pycharm中,可以在pycharm菜单栏fileexport和import在多台电脑之间同步设置。 ps.pycharm的快捷键导入后,需要手动修改键盘映射修改为:windows副本,才会使用导入后的配置。 可以同步的项目: 编辑器的选项设置 代码片段和文件模版 无法同步的项目: 已安装的插件,虽然解包查看备份文件中有个installed.txt记录着已安装的插件 插件的禁用启用情况 把pycharm的备份文件解压后,里面是些xml用来记录配置,和...

  vWa2lMmTbsfJ   2023年11月02日   35   0   0 Python

TeamCity和pyflakes TeamCity是一款由JetBrains公司开发的持续集成和部署工具,它提供了丰富的功能来帮助团队协作进行软件开发。其中包括代码检查、自动化构建、测试运行、版本控制等多个方面。 在我们团队中使用TeamCity进行配合pyflakes代码检查,我们需要升级pyflakes到支持python3,同时保留python2的语法检查功能。 在Teamcity中修改python脚本后,无需重启teamcity即可生效。 pyflakes语法检查同时支持python2/3 pyflakes pyflakes·PyPI 查看版本:指令:piplist,pyf...

  vWa2lMmTbsfJ   2023年11月01日   39   0   0 游戏开发

前言 这篇文章写于2018年一直在草稿箱,当时在某厂做手游,现在回过头来看,这些方法依然有用。 对于一些外挂软件,现在我们借力AI,针对性上报玩家的行为序列log,通过AI分析是否外挂,然后把数据交由运营处理。 在我开发一款大型mmoarpg过程中和服务器主程讨论游戏中防外挂、防破解的实现和改动,讨论内容主要有如下: 防加速 服务器验证,客户端配合 内存数据加密 客户端内存加密,Unity的AssetStore上插件可实现。 尤其是对于奖励,领取条件判断及二次领取服务器一定要做检验,不要依赖于客户端。客户端所有数据都可以被修改。 协议CD 防止频繁的请求某个协议(300毫秒1000毫秒内...

  vWa2lMmTbsfJ   2023年11月01日   29   0   0 游戏开发

反调试提示 开了Procmon.exe之后启动游戏会弹出这个框,这个是程序加壳之后的反外挂,反调试提示框。 WinLicense Amonitorprogramhasbeenfoundrunninginyoursystem.Please,unloaditfrommemoryandrestartyourprogram![image-20230901154445402](https://img2023.cnblogs.com/blog/363476/202309/363476-20230902195253332-749228720.png) 反外挂sdk https://www.oreans....

  vWa2lMmTbsfJ   2023年11月01日   47   0   0 游戏开发

win1122h2更稳定了 在win1122h2发布后没多久,我就升级到了这个版本,截止目前已经使用半个月了,谈谈我的使用感受。 总体要比之前的版本更稳定,表现为笔记本风扇不会突然响,突然卡顿,不过系统更新频繁比win10多很多。 界面变好看了 外观上变化较大的就是资源管理器支持标签页化 资源管理器里文件夹加图标了 系统各项设置和交互更加接近移动端 系统通知和设置界面都变的更好看了,各软件窗口的圆角,滚动条等等 字体更加清晰 尤其是字体的渲染更加清晰了,以往都用MacType来加强字体渲染,win11不需要了,控制台下的字体也很清晰。 由于我是笔记本win11,台式机win10,所以...

  vWa2lMmTbsfJ   2023年11月01日   52   0   0 Windows

win11特有的快捷键 win键就是图案是windows图标的那个按键 作用 快捷键 打开快速设置,win11是展开音量,wifi,蓝牙的设置项,win10也可以用 win+a 打开通知中心和日历,win10无 win+n 打开投屏,win10也可以用 win+k 打开win11的小组件 win+w 打开开始菜单 win键或ctrl+esc 打开超级按钮菜单 win+shift+c 打开任务视图 win+tab 窗口分屏 win+z 任务管理器快捷方式 ctrl+shift+esc打开任务管理器 作用 快捷键 结束所选进程 Alt...

  vWa2lMmTbsfJ   2023年11月01日   59   0   0 Windows

windows程序图标缓存 在vs中替换c程序的图标后,需要重新编译,但是很多情况下都不会刷新,还是看到老的图标,只能重启电脑才能看到新的图标。 通过ChatGPT得到相关的回答如下: 如果在Windows上更换了可执行文件(.exe)的图标,但是在图标文件已经更改的情况下仍然显示旧的图标,可能是因为Windows缓存了旧的图标。为了解决这个问题,可以尝试以下步骤: 从可执行文件的图标属性中删除图标,保存并关闭。 重新打开文件的属性对话框,选择"更改图标"。 选择一个新的图标并保存更改。 如果图标仍然没有更改,请尝试重启WindowsExplorer进程。可以在任务管理器中找到"Window...

  vWa2lMmTbsfJ   2023年11月01日   60   0   0 Windows

前言  最近由于广州的疫情比较严重,而我自己一直是使用台式机,以防万一还是买了台笔记本当作备用机。由于很多年没有买过笔记本,悉不知现在笔记本还自带电脑管家这东西,并且控制着电脑的一些功能调节,比如性能切换,键盘灯,Fn键,电池模式等等,这些功能平时可以用上,可是在后台有很多进程,这就难受了,所以我尝试是否有替代品或减少内存占用的方法。 Lenovovantage 网上很多朋友是安装这款来代替联想管家,Lenovovantage我是从应用商店安装的,启动后提示需要下载安装Lenovo.Vantage.ServiceSetup才能正常运行。   Lenov...

  vWa2lMmTbsfJ   2023年11月01日   28   0   0 其他技术区

离线下载uwp安装包 打开商店,然后搜索您要的应用程序名称,进入应用界面 点击分享按钮,在弹出窗口中选择【复制链接】 把链接粘贴到:https://store.rg-adguard.net/ 默认选择的是RP,建议选Retail,切换通道后重新点击✔。 从下载列表中选择一个时间较近的链接就可以下载了。 不同通道解释: Fast:WindowsInsiderFast通道,属于最新开发版; Slow:WindowsInsiderSlow通道,相对Fast较稳定; RP:ReleaseReview也是微软软件发布的一个通道,软件成熟度较高,待RP过后,就会正式发布。 Retail:指正式发布的包...

  vWa2lMmTbsfJ   2023年11月01日   35   0   0 其他技术区

在全局搜索速度上vscode比pycharm要慢不少,尤其是对于我们这种近二十年历史的项目代码来说特别明显,所以这里记录一下我是如何加快vscode的搜索速度的。 官方的搜索建议 https://code.visualstudio.com/docs/editor/codebasics_advanced-search-options 匹配任意级别的目录 workspace忽略 file:exclude和search:exclude能否针对workspace设置呢? 可以,如果这些是您要在特定工作空间中忽略的文件夹,则可以转到: AppMenu>Preferences>Worksp...

  vWa2lMmTbsfJ   2023年11月01日   59   0   0 其他技术区

流行的技术名词按发音难度排序,ChatGPT肯定排在前面。 到底它为什么叫做ChatGPT呢? 先说GPT:GenerativePre-TrainingTransformer Generative生成式 虽然我们已经习惯了话唠的机器人絮絮叨叨的说个不停,但这只是众多的人工智能模型的一种方式。比如还有识别类的(Congnition):人脸识别,车牌识别这些,还有语音识别,文字识别各种识别任务。(在提到模型的时候,也常常被叫做判别模型,discriminative)。Generative这个大的种类里面有几个小分支,DALLE的画图的用的是对抗网络方式GAN(这个晚些可以分析),现在最火的Sta...

  vWa2lMmTbsfJ   2023年11月01日   34   0   0 其他技术区

前言 在Git术语中,“checkout”是在目标实体的不同版本之间切换的行为。该命令对三个不同的实体进行操作:文件、提交和分支。除了“checkout”的定义之外,短语“检出”通常用于表示执行命令的行为。在撤消更改主题中,我们了解了如何使用来查看旧提交。gitcheckout checkout分支类似于checkout旧的提交和文件,因为工作目录会更新以匹配选定的分支/修订;但是,新更改将保存在项目历史记录中,也就是说,它不是只读操作。 Checkingoutbranches 该命令允许您在由创建的分支之间导航。检出一个分支会更新工作目录中的文件,以匹配存储在该分支中的版本,并告诉Git在...

  vWa2lMmTbsfJ   2023年11月01日   49   0   0 其他技术区

减少showlog等待时间 90%的情况下下我们对gitrepo执行showlog都只需要查看最近的提交记录,所以减少log条数,就可以加速打开时间。 settings->dialogs1->logmessages->dafaultlimitationoflogmessages, 建议选择:lastNlimits(限制查看log的条数) 4050G的大仓库showlog慢? Git没有每个文件的历史记录,因此它会遍历整个存储库以构建单个文件历史记录。如果对一个巨大的reposhowlog,这就会成为一个问题。 对于大型仓库,可以使用内置的GITGUI 原文:https:/...

  vWa2lMmTbsfJ   2023年11月01日   29   0   0 其他技术区

保存博客文章 早期在markdown语法还没有推出来之前,编写blog是在网页上或olw写的,也就是文章是保存在对方的主机上。 最近计划把我在博客园的一些早期html文章转换成markdown的文件,因为md更好地保存,经过实践之后,我保留这两个工具。 PS.也尝试过python的脚本版本,但运行时会有报错,就省心地选用了相对稳定的工具。 我尝试的几种脚本放在html2md,本文提到的这两个工具是我推荐使用的。 最近更新 本文章写于2020年8月,但是最近2023年6月,我发现了一个更加好用的浏览器插件,支持把网页内容下载保存为markdown文件 edge扩展地址:MarkDownlo...

  vWa2lMmTbsfJ   2023年11月01日   66   0   0 其他技术区

TortoiseGit的CherryPick 比如从masterpick某一个commit记录到其它分支(release) pick的操作方法:切到分支,点击showlog,然后在logdialog的左上角切到master,选中需要的commit记录,再右键选择cherrypick pick的流程:switchbranche,fetch&rebase,pick,push cherrypick之后无法push pick完成之后,需要push到远端,但是push的时候提示需要更新,尝试过多次的fetch&rebase,依然是这个提示。这就有些不解了,到底问题出在那儿? hint:...

  vWa2lMmTbsfJ   2023年11月01日   23   0   0 其他技术区

忽略某个子目录 在svnudpate一个大目录时忽略特定的子目录,主要是子目录下内容已经单独拉取过,并且这个大目录对于程序来说,可以是只读的。 操作方法:选中要忽略的目录,右键svnUnversionandaddtoignorelist,把目录添加到忽略属性中。 实际上就是修改的svn属性中的:svn:ignore 忽略完之后的update 假定要忽略的目录为:E:\design\输出文件\UI编辑器,为了方便,缩写UI编辑器就是指完整路径。 设置完忽略,第一次更新出现Fetching字样,svnupdate等待半小时之后出现:TreeconflictUI编辑器 再更新一次会出现冲突的提示...

  vWa2lMmTbsfJ   2023年11月01日   46   0   0 其他技术区
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~