首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

让vc编译出的程序减小体积

ExitProcess(0); } 微软C/C++ 编译器选项 -优化- /O1 最小化空间 /Op[-] 改善浮点数一致性 /O2 最大化速度 /Os 优选代码空间 /Oa 假设没有别名 /Ot 优选代码速度.../EHc 外部“C”默认为 nothrow /Gr __fastcall 调用约定 /GT 生成纤维安全 TLS 访问 /Gz __stdcall 调用约定 /Gm[-] 启用最小重新生成 /GA 为...命名预编译头文件 /Fd[file] 命名 .PDB 文件 /Fr[file] 命名源浏览器文件 /Fe 命名可执行文件 /FR[file] 命名扩展 .SBR 文件 /Fm[file] 命名映射文件...) /noBool 禁用“bool”关键字 /Ze 启用扩展(默认) /Zc:arg1[,arg2] C++ 语言一致性,这里的参数可以是:forScope - 对范围规则强制使用标准 C++;wchar_t.../warnaserror[+|-] 将警告视为错误 /warn: 设置警告等级 (0-4) (缩写: /w) /nowarn:警告列表> 禁用特定的警告消息 - 语言 - /checked[+|

2.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    “等待的诊断

    pid=XXX]】以及探究无法连接的原因。 我们可以从用户提供的警告日志发现到如下的输出: 警告日志: ?...“等待原理】 一文中的介绍。 如何分析跟踪日志文件? 根据用户提供的信息,我们可以先从警告日志中最先生成的信息和跟踪文件入手: Step 0:警告日志 0.警告日志: ?...Step 5:搜索持有的Mutex对象 5.我们接着查看以排他模式(EXCL)持有该Mutex(idn f0b72ce1)的会话所在的进程200: (以会话(4225, 0)为关键字搜索进程) ?...根据上面的内容来看,似乎并没有什么异常,但从等待的关系来看,问题很可能出在PROCESS 200 和PROCESS 10上.我们再回顾两个进程的ErrorStack信息,来看看有没有什么发现: PROCESS...ipc message’等待时通常数据库没有什么实质性的工作,所以可以暂且忽略。

    1.7K10

    CA1721:属性名不应与 get 方法冲突

    值 规则 ID CA1721 类别 命名 修复是中断修复还是非中断修复 重大 原因 成员的名称以“Get”开头,且其余部分与属性的名称匹配。...默认情况下,此规则仅查看外部可见的成员和属性,但这是可配置的。 规则说明 “Get”方法和属性的名称应能够明确区分其功能上的差异。 命名约定为面向公共语言运行时的库提供通用外观。...此一致性缩短了学习新软件库所需的时间,让客户更加相信该库是由拥有开发托管代码专业知识的人员所开发。 如何解决冲突 更改名称,使其与前缀为“Get”的方法名称不匹配。...何时禁止显示警告 不禁止显示此规则发出的警告。 备注 如果“Get”方法是由实现 IExtenderProvider 接口所引起,则可排除此警告。...配置代码以进行分析 使用下面的选项来配置代码库的哪些部分要运行此规则。 包含特定的 API 图面 你可以仅为此规则、为所有规则或为此类别(命名)中的所有规则配置此选项。

    35400

    《JavaScript 模式》读书笔记(2)— 基本技巧3

    这是基本技巧的最后一篇内容,这篇内容示例代码并不多。主要是概念比较多一点。 编码约定 确定并一致遵循约定比这个具体约定是什么更为重要。...// 警告:未预期的返回值 function func() { return { name: "Batman" }; } // 其实上面实际上是这样的 function...命名约定   再次强调,保持一直的写法,比写法是什么更重要。...一、构造函数的首字母大写 JavaScript没有类,但是可以通过new调用构造函数: var adam = new Person();   因为构造函数仍然仅仅是一个函数,它看起来是一个函数名,它和构造函数或者普通函数的行为差不多...三、其他命名模式 此外,常量和全局变量的命名请使用变量名全部大写的约定。   还有一种使用约定来模仿功能性的做法是私有成员函数约定。

    47730

    Python 中5种下划线的含义都是什么?

    :_ 本文总结5种不同的下划线命名约定及其含义,可让你亲身体验它们的行为,文末附有一个简短的“速查表”总结用法。...让我们来看看: 你会看到_bar中的单个下划线并没有阻止我们“进入”类并访问该变量的值。 这是因为Python中的单个下划线前缀仅仅是一个约定 - 至少相对于变量和方法名而言。...与通配符导入不同,常规导入不受前导单个下划线命名约定的影响: 3 小结 如果遵循PEP8推荐,避免通配符导入,只需要记住: 单个下划线是一个Python命名约定,表示这个名称是供内部使用的。...2 示例 为避免冲突,你可以附加一个下划线来解决命名冲突: 3 小结 总之,单个末尾下划线(后缀)是一个约定,用来避免与Python关键字产生命名冲突。PEP8解释了这个约定。...2 示例 这听起来似乎有些抽象,以下一个小小的代码示例来予以说明: 我们用内置的dir()函数来看看这个对象的属性: 以上是这个对象属性的列表。

    1.3K40

    【Linux】进程间通信——System V共享内存

    IPC_CREAT和IPC_EXCL都是宏,IPC_CREAT表示如果通过key值标识的共享内存不存在就创建;存在就获取该共享内存并返回它。...IPC_EXCL单独使用无意义,通常是和IPC_CREAT搭配使用,IPC_CREAT|IPC_EXCL,使用逻辑运算符或连接:表示如果通过key值标识的共享内存不存在就创建;存在就出错返回。...<<std::endl; return 0; } 结果如下: 发现共享内存挂接失败,这是因为我们在创建共享内存时没有设置权限,导致我们没有权限挂接,所以在创建共享内存时必须带上权限:shmget...(key,gsize,IPC_CREAT|IPC_EXCL|0600);,与文件权限一致0600表示拥有者可读可写,所以正确代码如下: #include #include<string...共享内存特点 通信速度最快 这是因为相较于管道通信需要通过文件缓冲区操作而言,共享内存只需通过指针操作即可 不同进程间共享内存块,但是没有任何保护机制 所以共享内存需要由用户自己完成保护,可以通过命名管道

    13710

    如何使用CSS命名规范提高您的编码效率

    在代码库中使用明确定义的命名约定的优势 使用明确定义的CSS类/ID命名约定将为您的工作流程带来以下好处: 代码一致性:命名约定规定了在为CSS属性分配名称时应遵循的规则;这使得命名风格标准化,并确保所有团队成员在开发过程中采用类似的方法...减少错误和漏洞:通过命名约定,可以针对特定元素及其属性声明类,减少在CSS属性没有明确名称的情况下出现错误的可能性,开发人员可能会误用或误解其目的。...CSS命名原则和最佳实践 在前一节中定义了CSS命名约定,我们将讨论在编写代码时应遵循的最佳实践以及CSS类名一致命名的准则。...项目开发中的命名一致性:在开发之前,建立一个命名约定和指南,以确保所有团队成员都能一致地遵循它们,提供一个易于维护和协调的代码库。 避免使用泛泛而谈的名称:类名应该反映其所分配给的元素的意图和含义。...自动化的CSS代码检查或格式化:这涉及添加一个自动化插件,强制执行命名约定的规则,当存在命名违规时发出警告,并立即向开发团队提供反馈。

    40730

    PLSQL编码规则

    遵循命名约定     如果你建立并严格遵循一套命名约定,特别是对于应用程序组件的,你就可以节省很多时间。     当然,遵循命名约定的想法并没有什么新意,你可能已经听烦了。...的单元测试     于是,我便遵循表1中的命名约定,同时使用这些缩写。...遵循这些约定有什么好处呢?一般来讲,如果我要求一致的命名规则,我就可以更流畅更高效地编写代码。     明确地说,这些约定具有可预测性,意思是说我编写的SQL程序能生成有用的脚本。...当我向Swyg方案中增加另一个表,并生成一组相关包时,我只要运行我的脚本,更新后的安装脚本便会跳出来。     2.  戒除编写SQL的嗜好     编写的SQL越少越好,这似乎与我们的直觉不太一致。...但是分派待处理呼叫和安排约定都是全新的工作,需求文档的其余部分对此进行了详细说明。     最初我想把这15页的内容全都看完,但我没有那样做。

    1.1K20

    【Linux】system V 共享内存

    ,IPC_CREAT IPC_EXCL 转到定义就可以发现其实这两个都是宏 ---- 若单独使用 IPC_CREAT :创建一个共享内存,如果共享内存不存在,就创建之,如果已经存在,就获取已经存在的共享内存并返回...IPC_EXCL不能单独使用 ,一般都要配合 IPC_CREAT 若要将两个选项同时传进去 IPC_CREAT | IPC_EXCL 两个选项同时用: 创建一个共享内存,如果共享内存不存在...就需要借助上述提到的 ftok 函数 ---- 刚开始约定好 A和B用同样的路径字符串和项目id 借助A形成一个key值,将key值放入A创建的共享内存描述结构体中 此时B也形成一个相同的key值,...此时就没有 shmid为0的共享内存 存在了 调用系统调用 输入 man shmctl 指令 shmid 代表 共享内存描述符 即想对那个共享内存操作 cmd 代表 选项 即想做什么操作...client:client.cc g++ -o $@ $^ .PHONY:clean clean: rm -f server client 如何使两个可执行程序运行,在上一篇文章提到过,点击查看:命名管道

    25320

    JAVA 泛型

    命名类型参数 推荐的命名约定是使用大写的单个字母名称作为类型参数。这与 C++ 约定有所不同(参阅 附录 A:与 C++ 模板的比较),并反映了大多数泛型类将具有少量类型参数的假定。...对于常见的泛型模式,推荐的名称是:  K —— 键,比如映射的键。  V —— 值,比如 List 和 Set 的内容,或者 Map 中的值。  E —— 异常类。 ...(Object o : l) 3 System.out.println(o); 4 } 上面的代码在 JDK 5.0 上编译通过,但是如果试图用 List 调用它,则会得到警告...出现警告是因为,您将泛型(List)传递给一个只承诺将它当作 List(所谓的原始类型)的方法,这将破坏使用泛型的类型安全。 ...这才真正烦人 —— 现在您的泛型版本还没有普通的非泛型版本有用!  解决方案是使用类型通配符:  1 void printList(List<?

    1.2K100

    Metalama简介3.自定义.NET项目中的代码分析

    代码分析 这里所说的代码分析,是可以通过一些自定义的方法,在使用不符合条件的代码时产生错误或警告。 如果配合CI并在每次持续集成时,都向团队分发警告和错误。...团队也在开发时遵守谁产生的警告,谁解决的团队约定,那么团队将不断减少技术债务,这样可以避免架构持续性的腐坏。...当然.NET自身及一些三方工具如Resharper已经提供了很多的代码分析功能,包括但不限于命名、代码调用等。但是有时想要更近一步地为团队增加更加定制化地代码分析,却没有对应的办法。...自定义一个代码分析:要求当前方法只能在符合规则的命名空间中使用 当一个团队存在多个项目时,我们会约定这里的某些项目的命名必须符合某一规则。...下面这个示例是要求调用函数的命名空间必须符合以.Tests结尾的规则,否则给出警告 using Metalama.Framework.Aspects; using Metalama.Framework.Code

    28620

    Metalama简介3.自定义.NET项目中的代码分析

    代码分析 这里所说的代码分析,是可以通过一些自定义的方法,在使用不符合条件的代码时产生错误或警告。 如果配合CI并在每次持续集成时,都向团队分发警告和错误。...团队也在开发时遵守谁产生的警告,谁解决的团队约定,那么团队将不断减少技术债务,这样可以避免架构持续性的腐坏。...但是有时想要更近一步地为团队增加更加定制化地代码分析,却没有对应的办法。 Metalama中也提供了代码分析功能。 下面我们以几个示例来演示Metalama中如何使用代码分析。...自定义一个代码分析:要求当前方法只能在符合规则的命名空间中使用 当一个团队存在多个项目时,我们会约定这里的某些项目的命名必须符合某一规则。...下面这个示例是要求调用函数的命名空间必须符合以.Tests结尾的规则,否则给出警告 using Metalama.Framework.Aspects; using Metalama.Framework.Code

    50660

    android-代码样式规范

    当有疑问时,要与周围的代码一致。 我们使用八(8)个空格缩进进行换行,包括函数调用和赋值。例如,这是正确的: 10.遵循字段命名约定 非公共,非静态字段名以m开头。 静态字段名称以s开头。...如果警告通过此“不可能消除”测试,则必须使用@SuppressWarnings注释,以确保所有警告都反映代码中的实际问题。...14.将首字母缩略词作为词 将缩写词和缩写词作为命名变量,方法和类中的单词,以使名称更易读: 由于JDK和Android代码库在首字母缩略词之间非常不一致,因此几乎不可能与周围的代码一致。...记录的黄金规则是,您的日志可能不会不必要地将其他日志推出缓冲区,就像其他人可能不会推出您的日志。 17.始终一致 我们分开的想法:一致。如果您正在编辑代码,请花几分钟时间查看周围的代码并确定其样式。...18.Javatests样式规则 按照测试方法命名约定,使用下划线将要测试的内容与要测试的特定案例分开。这种风格使得更容易查看正在测试的案例。

    55230

    C# 中的命名空间与Java和Python中的导入

    在 C# 中,似乎没有这样的命名空间约定,或者我遗漏了什么?那么,我不知道要查找哪个目录和文件(在弄清楚该类来自哪个命名空间之后)。...当然,您也可以在 .NET 中使用相同的约定 - 而且我确实这样做了,尽管我没让空目录向上延伸…因此,如果我创建一个默认命名空间为 X.Y 的项目,那么 X.Y.Foo 将位于 Foo.cs 中,而 X.Y.Z.Bar...在 C# 中,似乎没有这样的命名空间约定,或者我遗漏了什么?那么,我知道要查找哪个目录和文件(在弄清楚该类来自哪个命名空间之后)。不,程序集不对应于目录结构,我认为这是一件好事。...编辑:为了不与本主题中的其他答案相矛盾并造成混淆:我说程序集名称不对应目录名称的意思是它实际上并没有被强制执行。...答案 5:我不知道其他项目的情况,但我敢肯定,在我参与的每一个 .NET 项目中,我们都使用了这个约定,即命名空间始终对应于文件夹名称(除了最外层的命名空间对应于该命名空间所属的程序集)。

    7010

    PEP8-Python代码规范样式编写指南摘录

    注释块注释内镶注释文档字符串命名约定首要原则描述性:命名样式说明性:命名约定避免使用的名称ASCII兼容性软件包和模块名称类名类型变量名异常名称全局变量名函数和变量名函数和方法参数方法名称和实例变量常量继承设计...对于三引号字符串,请始终使用双引号字符以与PEP 257中的docstring约定一致。...命名约定 Python库的命名约定有点混乱,因此我们永远都无法做到完全一致。尽管如此,如下是当前推荐的命名标准。...说明性:命名约定 避免使用的名称 切勿将字符“ l”(小写字母el),“ O”(大写字母oh)或“ I”(大写字母eye)用作单个字符变量名称。 在某些字体中,这些字符与数字1和零没有区别。...在接口被记录并主要用作可调用函数的情况下,可以代替使用函数的命名约定。

    1.6K10

    Facebook 重构:抛弃 Sass Less ,迎接原子化 CSS 时代

    人们通常手工编写实用工具/原子 CSS,精心制定命名约定。但是很难保证这个约定易于使用、保持一致性,而且不会随着时间的推移而变得臃肿。 这个 CSS 可以团队协作开发并保持一致性吗?...这种约定是有主观性的,很可能你不喜欢它。 有时,你需要一些额外的 CSS,而实用工具/原子 CSS 并不提供这些 CSS。没有约定好的方法来提供这些一次性样式。...它并不是真的为所有网站提供一些唯一的实用工具 CSS,取而代之的是,它提供了一些公用的命名约定。通过一个配置文件,你可以为你的网站生成一套专属的实用工具 CSS。...ssh 注:这里原作者没有深入介绍,为什么说是一套命名约定呢而不是生成一些定死的 CSS 呢?...Tailwind 是一个优秀的解决方案,但仍然有一些问题没有解决: 需要学习一套主观的命名约定 CSS 规则插入顺序仍然很重要 未使用的规则可以轻松删除吗?

    3K10

    【Linux】进程间通信(命名管道、共享内存、消息队列、信号量)

    今日更新了Linux进程间通信的内容 欢迎大家关注点赞收藏⭐️留言 命名管道 如果我们想在不相关的进程之间交换数据,可以使用FIFO文件来做这项工作,它经常被称为命名管道。...命名管道是一种特殊类型的文件 从命令行上创建 如上图,当我们在终端1创建了一个命名管道后,往里面写东西,管道不会关闭,在终端2上发现,它的内存大小还是0。...: IPC_CREAT 、IPC_EXCL IPC_CREAT:如果你要创建的共享内存不存在,就创建。...IPC_EXCL:单独使用没意义,只有和IPC_CREAT组合才有意义 IPC_CREAT | IPC_EXCL:如果你要创建的共享内存不存在,就创建。如果存在,就出错返回。...会导致数据不一致的问题。即双方不存在谁等谁的情况。比如我想传hello,结果写到he就被读走了,就会导致数据不一样。 我们在访问共享内存的时候,没有用任何系统调用。

    22810
    领券