Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
LLVM程序分析与编译转换框架论文分享
LLVM 2004年论文原文 概述 本文描述了 LLVM 低级虚拟机 一种编译器框架 旨在通过在编译时 链接时 运行时 以及运行之间的空闲时间 LLVM 以静态单一赋值 SSA 形式定义了一种通用的低级代码表示 具有几个新颖的特性 一个简单
LLVM传统编译器
编译器
LLVM
程序分析
论文分享
拷贝构造函数的参数类型必须是引用
在C 中 构造函数 拷贝构造函数 析构函数和赋值函数 赋值运算符重载 是最基本不过的需要掌握的知识 但是如果我问你 拷贝构造函数的参数为什么必须使用引用类型 这个问题 你会怎么回答 或许你会回答为了减少一次内存拷贝 很惭愧的是 我的第一感觉
面试珠玑
constructor
string
编译器
class
C++中前置声明的应用与陷阱
前置声明的使用 有一定C 开发经验的朋友可能会遇到这样的场景 两个类A与B是强耦合关系 类A要引用B的对象 类B也要引用类A的对象 好的 不难 我的第一直觉让我写出这样的代码 A h include B h class A B b publ
C基础
c
class
编译器
delete
调试的艺术——Debug技巧总结
调试的艺术 Debug技巧总结 本文从写好的wiki里粘出来的 格式稍乱不影响阅读 用Q 编号代表问题 A 编号代表答案 用这种方式组织 如无特别说明 这些技巧都是针对Visual Studio 2003的 汇编级的问题我作为一个逻辑程序只
c
Optimization
编译器
汇编
优化
编译器优化–4--消除无用和不可达代码
编译器优化 4 消除无用和不可达代码 概述 有时候 程序包含的一些计算不具有外部可见的效应 如果编译器能够确定给定操作不会影响程序的结果 那么它完全可以消除该操作 大多数程序员都不会有意编写这种代码 但是 这种代码在大多数程序中作为编译器中
编译器技术
编译器
va_list(),va_start(),va_arg(),va_end()
va list va start va arg va end 详解 一 写一个简单的可变参数的C函数 下面我们来探讨如何写一个简单的可变参数的C函数 写可变参数的C函数要在程序中用到以下这些宏 void va start va list a
C vs C
linux内核与编程
list
fun
编译器
第5章 基础——5.3. C++项目组成
回到目录 白话C 5 3 C 项目组成 首先我们知道了 写一个C 程序 可能需要多个源文件 比如a cpp b cpp 有没有可能只用一个源文件呢 似乎是可以的 比如我们之前写的 Hello world 经典版等项目 不就只有一个main
白话C
c
编译器
扩展
function
Stanford CS143 速通PA1教程
今天做完了CS143的PA1 感觉最难的地方在于官方没有具体的文档 edX 然后COOL语言调试比较困难 以下是我对同样打算入坑CS143的同学的一些帮助吧 速通前的准备 Virtual VM Setup 如果还没有搭好环境的 建议跟着官网
Stanford CS143学习之路
编译器
COOL
栈
自动装箱和拆箱、包装类空指针异常问题、包装类的缓存问题
自动装箱和拆箱 自动装箱和拆箱就是将基本数据类型和包装类之间进行自动的互相转化 JDK1 5以后Java引入了自动装箱 autoboxing 和自动拆箱 unboxing 自动装箱 基本数据类型处于需要对象的环境中时 会自动转为 对象 例如
笔记
Java
编译器
C语言本身是用什么语言写的?
先说结论 C语言由B语言编写 B语言是由A语言编写 A B C 好了 不开玩笑了 既然你能提出这个级别的问题 说明你应该学过C 既然你能提出这个级别的问题 说明你没学过编译原理 或者全还给老师了 容我不厚道一下下 你所谓的 C语言 准确来说
技术
程序员
Java
编译器
c语言
C与C++的不同--------extern
extern可以置于变量或者函数前 以表示变量或者函数的定义在别的文件中 提示编译器遇到此变量和函数时在其他模块中寻找其定义 另外 extern也可用来进行链接指定 C 语言的创建初衷是 a better C 但是这并不意味着C 中类似C语
CC
c
语言
编译器
函数调用约定(整理稿)
函数调用约定 整理稿 Function calling convention 在C语言中 假设我们有这样的一个函数 int function int a int b 调用时只要用result function 1 2 这样的方式就可以使用这
function
WINAPI
PASCAL
汇编
编译器
C# 迭代器实现枚举器
在上一篇日志中说的手动实现枚举器来枚举自定义的类型 http blog csdn net weixingstudio article details 6817319 可以看到过程非常复杂 而且容易出错 为了减轻程序员的负担 C 还提供了迭代
c
Iterator
string
class
编译器
C++拷贝构造函数详解
一 什么是拷贝构造函数 首先对于普通类型的对象来说 它们之间的复制是很简单的 例如 int a 100 int b a 而类对象与普通对象不同 类对象内部结构一般较为复杂 存在各种成员变量 下面看一个类对象拷贝的简单例子 include
CC
c
fun
class
编译器
一文入门Go静态单赋值(SSA)
在上一篇文章 通过实例理解Go内联优化 1 中 我们探讨了Go编译器在编译中端进行的内联优化 内联优化基于IR中间表示进行 不过Go编译过程不止有一种IR表示 这点和龙书 编译原理 第二版 2 的在第六章 中间代码生成 一开始处的讲解是一致
编译器
python
Java
编程语言
go
Linux 字节序与字节对齐优化
1 字节序跟Linux Windows无关 是由CPU构架决定 同一个CPU不管装的是Windows 或 Linux 字节序都是一样的 2 字节对齐 Linux 全用 attribute packed 作用于结构体 类似于pragma pa
Windows转Linux
Linux
struct
编译器
function
关于udelay(); mdelay(); ndelay(); msleep();
在 inux river开发中 经常要用到延迟函数 msleep mdelay udelay 虽然msleep和mdelay都有延迟的作用 但他们是有区别的 mdeday还忙等待函数 在延迟过程中无法运行其他任务 这个延迟的时间是准确的 是
linux开发(内核态)
DELAY
struct
include
编译器
静态代码分析工具清单:开源篇(各语言)
本文是一个静态代码分析工具的清单 共有26个工具 包括4个 NET工具 2个Ada工具 7个C 工具 4个Java工具 2个JavaScript工具 1个Opa工具 2个Packaging工具 3个Perl工具 1个Python工具 1 N
文章
编译器
java分析
静态语言分析
编程语言
Sublime实现自动排版
sublime功能很强大 但是使用sublime就可以实现代码自动重新缩进 使代码缩进重排 方法 Ctrl A选中全部内容 然后在菜单中选择Edit gt Line gt Reindent
编译器
Sublime
C中的预编译宏定义
C中的预编译宏定义 作者 infobillows 发表日期 2007 09 15 21 34 点击数 1507 在将一个C源程序转换为可执行程序的过程中 编译预处理是最初的步骤 这一步骤是由预处理器 preprocessor 来完成的 在源
编程常用
c
gcc
编译器
Token
«
1 ...
4
5
6
7
8
9
10
...15
»