ICode9

精准搜索请尝试: 精确搜索
  • C++ inline2022-08-30 08:32:48

    1.inline可以免除函数调用时的保存上下文时的一些开销,其本质就是对此函数的每一个调用都以函数本体替换之。   inline的坏处:若在一台内存有限的机器上,过度热衷inlining会造成程序体积太大,即使拥有虚拟内存,inline造成的代码膨胀也会导致额外的换页行为,降低指令高速缓存装置的集中

  • 从LLVM IR 来看编译器“优化”都在做些什么(release)2022-08-29 20:32:46

    这些东西可以讲很深,但今天只会带大家看些简单的LLVM IR跟 组合语言,并且举一些例子来讲 编译器”优化” 在做些什么。今天的示例会以Rust 为主,因为Rust 编译器的核心是建立在LLVM 之上,所以也支持编译成LLVM IR。虽然如此,就算你完全不了解LLVM 跟Rust 也还是可以读,因为今天会从LL

  • [错误处理] CMake中GCC编译器链接.lib文件出现无法找到文件错误的问题2022-08-28 09:31:19

    奇怪的BUG 库文件名为WebView2Loader.dll.lib,在CMake + Mingw环境下出现了无论改为libWebView2Loader, WebView2Loader, WebView2Loader.dll.a都无法找到文件的问题 link_directories( "${CMAKE_CURRENT_SOURCE_DIR}/libs" ) target_link_libraries(cppPlay WebView2Loa

  • 乘风破浪,遇见最佳跨平台跨终端框架.Net Core/.Net生态 - 超前预编译AOT和即时编译JIT2022-08-26 20:32:41

    什么是即时编译JIT 在计算机领域,即时编译(Just In Time, JIT)(也是动态编译或运行时编译)是一种执行计算机代码的方式,它涉及在程序执行期间(运行时)而不是在执行之前进行编译。这可能包括源代码翻译,但更常见的是字节码翻译成机器码,然后直接执行。实现JIT编译器的系统通常会持续分

  • 从C过渡到C++——换一个视角深入数组[真的存在高效吗?](2)2022-08-22 19:30:55

    从C过渡到C++——换一个视角深入数组[真的存在高效吗?](2) C风格高效的数组遍历 在过渡到C++之前我还是想谈一谈如何书写高效的C的代码,这里的高效指的是C代码的高效,也就是在不开启编译器优化下,C层级的自由化,编译器优化固然很好,但是源代码的高效远远要胜于编译器的优化,因为在大多数情

  • RUST基础:类型推导2022-08-20 14:33:40

    Rust基础入门书籍推荐《深入浅出RUST》 Rust的类型推导功能是十分强大的。它不仅可以从变量声明的当前语句中获取信息进行推导,而且还能通过上下文信息进行推导 1 fn main() { 2 let elem = 5u8;//没有明确的标出变量的类型,但是通过字面的后缀,编译器知道elem的类型为u8 3

  • Rust实战系列-Rust介绍2022-08-19 23:34:31

    “ 学习资料:rust in action[1] 1. Rust 安装 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source"$HOME/.cargo/env" 2. hello world 创建 hello 项目 mkdir rust_tmp && cd rust_tmp cargo new hello cd hello cargo run 看

  • 第一天小结2022-08-16 08:33:50

    1 C++引入面对对象的思想及泛型编程 2 面向对象的三大特征:封装,继承,多态 3 C++引入名字的控制 4 输出流,输入流,换行及刷新缓冲区 5 作用域,:: 6 名字的控制 6.1 namespace创建命名空间 6.2 可以扩展 6.3 只能全局 6.4 可以嵌套 6.5 可以取别名 6.6 里面可以有方法 6.7 无命名空间 6.8

  • 第二天总结2022-08-16 08:33:07

    1 常量的引用 1.1 字面量不能引用,因为没空间 1.2 不希望形参改变时,让形参变成常引用 2 函数传递的三种方式 2.1 值传递,指针传递,引用传递 3 类的概念 3.1 类是把事务抽象出来,变成我们代码 4 内联函数 4.1 类似于宏函数的效果 4.2 在普通函数前面加inline,只是向编译器申请成为内联函

  • 飞腾面经问题回答2022-08-16 08:00:49

    1. C语言中volatile关键字的作用 关键字是C语言的词汇,由于编译器不具备真正的智能,所以你必须用编译器能理解的术语表示你的意图。开发者告诉编译器该变量是易变的,无非就是希望编译器去注意该变量的状态,时刻注意该变量是易变的,每次读取该变量的值都重新从内存中读取。 什么时候用呢

  • C-Primer-Plus-第一章-初识C语言2022-08-15 21:02:15

    第一章 初识C语言 参考书籍:C Primer Plus(第6版)中文版 一、前言 打算跟着本书系统地学习一遍C语言,谨以此系列文章记录自己的学习之路。 二、主要内容 1. C语言起源 1972年,美国贝尔实验室的丹尼斯·里奇(Dennis Ritch )和肯·汤普逊(Ken Thompson )在开发UNIX操作系统时设计了C语言,C语

  • c语言中输出char类型所占据的位数(因编译器而异)2022-08-15 03:01:29

      001、 #include <stdio.h> #include <limits.h> int main(void) { printf("CHAR_BIT: %d\n", CHAR_BIT); return 0; }    

  • 功能“空传播运算符”在 C# 5 中不可用。请使用语言版本 6 或更高版本。2022-08-13 15:01:53

        PM> Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform 使用新的 .NET 编译器平台(“Roslyn”)编译器作为服务 API 的替代 CodeDOM 提供程序。这为使用 CodeDOM 的系统中的新语言特性(例如 ASP.NET 运行时编译)提供了支持,并提高了这些系统的编译性能。

  • imx6 buildroot编译2022-08-13 14:03:42

    1.下载源码 地址:https://buildroot.org/      随便选一个,下载后解决解压 2.配置 Target options -> Target Architecture = ARM (little endian) -> Target Binary Format = ELF -> Target Architecture Variant = cortex-A7 -> Target ABI = EABIhf -> Floating point stra

  • 【C++】构造函数2022-08-12 23:02:45

    函数若是在class body内定义完成,就会自动成为inline候选人 inline只是给编译器一个提示,最终一个函数是否真正被inline,编译器会做最后的决定 构造函数特殊且独有的一种赋初值的写法,以冒号的形式,直接将构造函数的实参赋值给类的成员变量 一个成员变量赋值的过程有两个阶段:1.初始化赋

  • 编译器优化:何为SLP矢量化2022-08-11 15:32:11

    摘要:SLP矢量化的目标是将相似的独立指令组合成向量指令,内存访问、算术运算、比较运算、PHI节点都可以使用这种技术进行矢量化。 本文分享自华为云社区《编译器优化那些事儿(1):SLP矢量化介绍》,作者:毕昇小助手。 0.Introduction Superword Level Parallelism (SLP)矢量化是llvm auto-v

  • VIm编译器2022-08-10 21:02:42

    vim 编辑分为三个模式 1、命令行模式 ===>默认vi的打开模式 2、低行模式 ===》按下ESC键,退到命令行模式,按下 shift+: 进入低行模式 3、插入模式 ===》编辑代码的环境 ==》按下i a o 都能进入插入模式 插入模式 ===》写代码 ===》并以

  • 自己动手写RISC-V的C编译器-02语法描述方法和递归下降解析2022-08-08 22:00:09

    本节增加对*、/、+、-、()运算的支持 使用生成规则表示运算符优先级 expr = mul("+" mul | "-" mul)* mul = num("*" num | "/" num)* 上面的表达式可以很容易的推导出对于对于运算1*2+3的语法树 由expr开始推导乘除法一定会在加减法的更下一层,所以很自然的得出乘法优先级大

  • 计算机基础2022-08-08 21:00:57

    32位和64位 64位也能装32位的应用,最多可以有128G内存 32位最多4GB 字节 位bit 计算机 内部数据储存的最小单位 例如11001100是一个八位 二进制数 字节byte 处理数据的基本单位 一般用大写B表示 1B= 8bit 字符 计算机中的字母 数字 字 符号 1024B= 1KB 1024KB= 1M 1024M= 1G 1024G=

  • 编译器版本太老使用unordered_map问题2022-08-04 22:34:11

    好像说5.11还是5.17以上版本的dev可以直接在#include<bits/stdc++.h> 用unordered_map。 如果是像我的老大爷编译器一样说was not declared的, 就多一个#include<tr1/unordered_map>, 后面使用时前面加上tr1::库就行 eg. tr1::unordered_map<int,int>mp;   By:AlenaNuna  

  • Java编译前准备以及如何进行代码注释2022-08-04 10:02:10

    配置Java环境变量 注意要将Path里的两个Java_home移到最上面,并且设置java的默认打开应用为Notepad++,否则会在编译javac的时候提示错误。 Java运行机制 编译 C/C++ 编译器 将源代码一次性转换成机器语言的过程 类似英语中的全文翻译,运行速度快。 解释 Java/Javascript 解释器只在执

  • c++ template模板相关知识2022-08-03 17:35:25

    1. template的尖括号内的变量都是静态的,所以动态变量无法作为参数传递。 静态变量指的是在编译器就可以确定下来的变量,动态变量指的是在运行时才能确定下来的变量。 静态变量可能也会被“误解”为动态变量。 tempalte<int n,class func> void test(func const & f){ f(i); } int

  • GCC编译器技术解析2022-08-02 07:33:40

    GCC编译器技术解析 参考文献链接 https://mp.weixin.qq.com/s/-MhkY2FLZ3Tn4eWZZrZ2Ww https://mp.weixin.qq.com/s/BaATGUQJii_YPwXpc5Dzow https://mp.weixin.qq.com/s/Y3xyHoMmES_skOHgteB41g https://mp.weixin.qq.com/s/1g4i64UklWybygT4CR5MTA https://mp.weixin.qq.com/s/8

  • TVM: 深度学习编译器介绍2022-08-02 01:02:38

    深度学习编译器介绍 每一种硬件对应一门特定的编程语言,再通过特定的编译器去进行编译产生机器码,那随着硬件和语言的增多,编译器的维护难度会有很大困难。现代编译器已经解决了这个问题。 为了解决这个问题,科学家为编译器抽象出来了编译前端/编译中端/编译后端等概念,并引入IR(Interm

  • JIT编译日志2022-07-30 13:32:01

    一个所有性能工程师都应该知道的重要JVM开关是: -XX:+PrintCompliation 这将导致在STDOUT(标准输出)上生成一个编译事件的日志,从而使得工程师可以基本了解正在编译的内容。 PrintCompliation提供的细节有限,要访问更多关于HotSpot JIT编译器所做决策的编译信息,可以使用: -XX:+LogCompl

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有