E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
GCC-3.4.6
linux gcc共存,Fedora 15 添加低版本gcc,多版本gcc共存
1.下载低版本gcc3.4.6.2.suyuminstallcompat-gcc-34*3.1、先下载gcc-3.4.6.tar.bz2文件于/tmp目录下,并对其进行解压,于是在/tmp下有了
gcc-
weixin_39688451
·
2023-07-26 05:23
linux
gcc共存
GCC-3.4.6
源代码学习笔记(136)
5.12.5.2.2.2.1.3.6.完成派生类的RECORD_TYPE–验证成员接着验证模板具现体的非方法成员的有效性。check_bases_and_members(continue)4169/*Checkallthedatamemberdeclarations.*/4170check_field_decls(t,&access_decls,4171&cant_have_default_cto
wuhui_gdnt
·
2020-08-10 04:51
Studying note of
GCC-3.4.6
source (136)
5.12.5.2.2.2.1.3.6.FinishthederivedRECORD_TYPE–verifymembersNextverifythevalidityofnon-methodfieldsofthetemplateinstantiation.check_bases_and_members(continue)4169/*Checkallthedatamemberdeclarations.*
wuhui_gdnt
·
2020-08-10 04:51
Studying
note
of
GCC-3.4.6
source
GCC-3.4.6
源代码学习笔记(129 续)
下面的DECL_MAIN_P返回非0值来表示遇到“main”函数,对于该函数一些有趣的限制。看到main函数不能被声明为inline,而且永远是公有可访问的。grokfndecl(continue)5642if(ctype==NULL_TREE&&DECL_MAIN_P(decl))5643{5644if(processing_template_decl)5645error("cannotdecl
wuhui_gdnt
·
2020-08-10 04:50
GCC-3.4.6
源代码学习笔记(62)
4.3.1.7.6.其它具有C链接性的C++语言成分4.3.1.7.6.1.标准部分和c_common_nodes_and_builtins走过一长段路程后,我们回到cxx_init_decl_processing。注意current_lang_name仍然是lang_name_c,表明下面构建的节点仍然是C链接性的。3002~3009的类型节点用于C++和Java之间的接口(即,extern“J
wuhui_gdnt
·
2020-08-10 04:50
Studying note of
GCC-3.4.6
source (129 continue)
BelowDECL_MAIN_Preturnsnonzerotoindicateencountering“main”function,itisinterestingtoseesomelimitationaboutitsdefinition.Seethatmainfunctioncan’tbedeclaredasinline,andalwayspublicaccessible.grokfndecl(
wuhui_gdnt
·
2020-08-10 04:50
Studying
note
of
GCC-3.4.6
source
Studying note of
GCC-3.4.6
source (147 - cont 2)
unify(continue)9916caseTEMPLATE_PARM_INDEX:9917tparm=TREE_VALUE(TREE_VEC_ELT(tparms,0));99189919if(TEMPLATE_PARM_LEVEL(parm)9920!=template_decl_level(tparm))9921/*ThePARMisnotonewe'retryingtounify.Jus
wuhui_gdnt
·
2020-08-04 08:06
Studying
note
of
GCC-3.4.6
source
tree
integer
class
function
instantiation
constructor
Studying note of
GCC-3.4.6
source (139 - cont 2)
InTYPE_FIELDSofclassnode,aFIELD_DECLisusedtorepresentanon-staticdatamember,aVAR_DECLisusedtorepresentastaticdatamember,andaTYPE_DECLisusedtorepresentatype.TheCONST_DECLforanenumerationconstantwillappe
wuhui_gdnt
·
2020-08-04 08:05
Studying
note
of
GCC-3.4.6
source
Studying note of
GCC-3.4.6
source (147 - cont 1)
Thenifeverythinggoessmoothly,itfinallyputsdeducedargumentsintotargsatline10401byfn_type_unifcation.Andtheseargumentsarethensubsistitutedintothetemplateparametersbytsubstimmediatelyatline9334inresolve_
wuhui_gdnt
·
2020-08-04 08:05
Studying
note
of
GCC-3.4.6
source
tree
reference
function
class
parameters
templates
Studying note of
GCC-3.4.6
source (139 - cont 1)
layout_class_type(continue)4664/*Createapointertoourvirtualfunctiontable.*/4665vptr=create_vtable_ptr(t,virtuals_p);46664667/*Thevptrisalwaysthefirstthingintheclass.*/4668if(vptr)4669{4670TREE_CHAIN(v
wuhui_gdnt
·
2020-08-04 08:34
Studying
note
of
GCC-3.4.6
source
tree
class
layout
conflict
alignment
integer
GCC-3.4.6
源代码学习笔记(1)
大约4年前,我加入了GDNT-北电网络在中国的合资企业,参与3GUMTS无线接入网的研发工作。与GCC有了第一次亲密的接触(之前使用的是MS的VC)。彼时,北电在其诸如,UMTS、CDMA、及自行开发的众多工具等项目中(此后,在4G项目,Wimax及Lte中),将GCC作为标准编译器来使用。每周我都需要进行数次的loadbuild,编译出load文件进行测试,以验证我对一些bug的修正代码。每次l
wuhui_gdnt
·
2020-07-30 18:30
Tslib移植与分析
LOONGSON-1B开发板(mips32指令集)编译平台:x86PC--VMware6.5--Ubuntu10.04(下面简称“ubuntu系统”)或:龙芯2F-debian6(下面简称“2F系统”)交叉工具链:
gcc
Skyline
·
2020-06-27 14:59
Linux应用开发
Ubuntu12.04安装
gcc-3.4.6
Ubuntu安装低版本gcc前几天在Ubuntu12.04上安装
gcc-3.4.6
,安装网上教程安装完毕:http://blog.csdn.net/shade0/article/details/7378850
Jiao319
·
2020-06-21 23:24
Ubuntu
gcc
CodeViz代码可视化
/
gcc-3.4.6
/configure --pr
·
2014-11-12 15:00
code
内核编译错误:Makefile‘混和的隐含和普通规则’错误的解决
工作环境:fedora19目标平台:s3c6410开发包内核版本:2.6.24交叉编译工具:gcc-3.4.1用
gcc-3.4.6
交叉编译6410内核,执行make命令,会提示"***混和的隐含和普通规则
hustyangju
·
2014-02-25 11:00
linux驱动
Tslib移植与分析
mips32指令集)编译平台:x86PC--VMware6.5--Ubuntu10.04(下面简称“ubuntu系统”) 或:龙芯2F-debian6(下面简称“2F系统”)交叉工具链:
gcc
Hnust_cool
·
2012-04-20 17:00
算法
Module
ubuntu
工具
library
图形
Tslib移植与分析
mips32指令集)编译平台:x86PC--VMware6.5--Ubuntu10.04(下面简称“ubuntu系统”) 或:龙芯2F-debian6(下面简称“2F系统”)交叉工具链:
gcc
water_cow
·
2012-01-26 00:00
算法
ubuntu
工具
library
图形
Makefile‘混和的隐含和普通规则’错误的解决
工作环境:fedora14目标平台:s3c2440开发包内核源码目录:/home/linux-2.6.24-5801开发包内核版本:2.6.24交叉编译工具:gcc-3.4.1用
gcc-3.4.6
liukun321
·
2011-10-28 20:00
工作
basic
Build
工具
平台
makefile
Makefile‘混和的隐含和普通规则’错误的解决
用
gcc-3.4.6
交叉编译3210内核,执行make命令,会提示"***混和的隐含和普通规则。停止。"的错误。
livingpark
·
2011-09-28 14:00
basic
Build
工具
makefile
搭建nfs服务
工作环境:ubuntu-10.04(虚拟机7.13)目标平台:龙芯3210开发板开发包内核源码目录:/home/linux_3210开发包内核版本:2.6.18.1交叉编译工具:
gcc-3.4.6
目的:
huguohu2006
·
2011-08-24 10:00
虚拟机
网络
ubuntu
File
System
networking
ubuntu更新源
sources.list_backup(备份)第二步:打开源列表,将原来的源全部注释掉活着全部删除zyx@zyx:/$sudogedit/etc/apt/sources.list第三步:粘贴新源,以下是含有低版本编译器
GCC
zyxlinux888
·
2011-08-21 22:00
.net
服务器
ubuntu
电信
编译器
Deb
DirectFB+GTK交叉编译
编译平台:x86、VMware上Ubuntu-10.04目标平台:SOC3210交叉编译工具链:
gcc-3.4.6
(mipsel) 一、所需软件包: 1、zlib-1.2.5.tar.bz2 2、freetype
y296144646q
·
2011-04-19 19:00
Studying note of
GCC-3.4.6
source (181)
5.13.5.3.2.4.2.3.3. ConstructvariableforreturnvalueAfteraddinglocalvariablesforparameters,immediatelydeclare(possible)variableforreturnvalue. expand_call_inline(continue) 1467 /*Declarethere
wuhui_gdnt
·
2011-03-26 09:00
java
function
tree
Build
Parameters
returning
GCC-3.4.6
源代码学习笔记(181)
5.13.5.3.2.4.2.3.3. 构建返回变量加入为形参构建的局部变量后,紧接着这些变量,(可能)声明用于返回的变量。 expand_call_inline(continue) 1467 /*Declarethereturnvariableforthefunction. */1468 COMPOUND_BODY(stmt)1469 =chainon(COMPOUND_
wuhui_gdnt
·
2011-03-26 09:00
java
function
tree
null
Build
insert
Studying note of
GCC-3.4.6
source (180)
5.13.5.3.2.4.2.2. GeneratecodeforinitializingfunctionparametersBelowcreateasplaytreeforfielddecl_map,whichisusedtomaplocaldeclarationsoftheinlinedfunctiontothecounterpartsinthefunctioninlinedinto.At
wuhui_gdnt
·
2011-03-26 09:00
java
function
tree
null
Parameters
variables
GCC-3.4.6
源代码学习笔记(180)
5.13.5.3.2.4.2.2. 产生初始化函数实参的代码下面为decl_map域构建了一个splay树,它用于映射内联函数中的局部声明到所内联入函数中的对等物。在1393行,CALL_EXPR_HAS_RETURN_SLOT_ADDR如果不是0,表示返回位置的地址是实参列表的一部分,而且这个地址总是列表中的第一个对象。 expand_call_inline(continue) 1384 /
wuhui_gdnt
·
2011-03-26 09:00
java
tree
null
Build
Parameters
initialization
Studying note of
GCC-3.4.6
source (179)
5.13.5.3.2.4. EmitassemblebasingoncgraphComingtothelastfunctionincgraph_optimize,itoptimizesallfunctions,andemitsassemblercodeforthem. 1579staticvoid1580cgraph_expand_all_functions(void)
wuhui_gdnt
·
2011-03-26 09:00
GCC-3.4.6
源代码学习笔记(179)
5.13.5.3.2.4. 基于cgraph图为函数发布汇编来到cgraph_optimize中调用的最后一个函数,它为所有的函数进行优化,并发布汇编。 1579staticvoid1580cgraph_expand_all_functions(void) incgraphunit.c1581{15
wuhui_gdnt
·
2011-03-26 09:00
java
function
struct
tree
null
attributes
Studying note of
GCC-3.4.6
source (178)
5.13.5.3.2.2.3. InlinenormalfunctionAfterhandlingfunctiondemandinginlining(byusing“always_inline”),inliningrestfunctionsareuptothecompiler.Aslongaswedon’tprohbitfunctionbyinliningoption“-fno-i
wuhui_gdnt
·
2011-03-19 09:00
GCC-3.4.6
源代码学习笔记(178)
5.13.5.3.2.2.3. 普通的内联函数处理完了强制内联函数(使用“always_inline”)后,剩下的函数由编译器便宜行事。只要我们不通过编译选项-fno-inline明确禁止函数内联,1326行的flag_really_no_inline就是0。 cgraph_decide_inline(continue) 1320#ifdefENABLE_CHECKING1321
wuhui_gdnt
·
2011-03-19 09:00
Studying note of
GCC-3.4.6
source (177)
5.13.5.3.2.2.2. FunctiondemandsinlineBelow,orderisthequeueofcgraph_nodeininvocationorder.Here,thevisittothesortednodesbeginsatthefunctionatbottomofthecallstack(notethatseeinprevioussection,ift
wuhui_gdnt
·
2011-03-19 09:00
GCC-3.4.6
源代码学习笔记(177)
5.13.5.3.2.2.2. 强制内联的函数下面的order就是按拓扑序(调用次序)排列的cgraph_node的队列。在这里,对排序节点的访问是从最接近调用栈底部的函数开始(注意在上一节可以看到,如果存在环,构成环的函数会排在最后),这样就可以从最后一个被调用的函数开始考查,一旦这个函数被判定为不能内联,其调用者自然就不能内联(对环亦如是,因此上面对构成环函数的排序时,把它们放
wuhui_gdnt
·
2011-03-19 08:00
struct
File
null
Path
编译器
output
Studying note of
GCC-3.4.6
source (176)
5.13.5.3.2.2.1. SortbyinvocationorderOutofaidingbelowprocessing,atline1253,putallcgraph_nodeintheorderofinvocation,andtransformthedirectgraphintoqueue(itsatisfiesthedefinitionoftopologicalorde
wuhui_gdnt
·
2011-03-19 08:00
function
struct
Graph
dependencies
output
traversal
Studying note of
GCC-3.4.6
source (175)
5.13.5.3.2. OptimizationbasedoncgraphBackfinish_filefromcgraph_finalize_compilation_unit,atthattimeglobalvariablesandreachablestaticvariableshaveassemblercodeoutput,andfunctionsneededarealsobuil
wuhui_gdnt
·
2011-03-19 08:00
GCC-3.4.6
源代码学习笔记(175)
5.13.5.3.2. 基于cgraph图的优化从cgraph_finalize_compilation_unit返回到finish_file,这时这个编译单元中全局变量及用到的静态变量都已经被输出为汇编代码,用到的函数也已经构建入cgraph图中,其中被调用者、调用者关系一目了然。接下来调用下面的cgraph_optimize根据这个cgraph网进行优化,并输出函数的汇编代码。 1
wuhui_gdnt
·
2011-03-19 08:00
优化
汇编
struct
File
tree
compilation
Studying note of
GCC-3.4.6
source (174)
5.13.5.3.1.2. AnalyzefunctionininlinabilityThusaftergeneratingthecall-mapforitscallersandcalless,itbeginstoanalyzethefunction.Themajoreffectfocusesonanalyzingifthefunctionisinlinable. cgraph_analyze_f
wuhui_gdnt
·
2011-03-12 16:00
GCC-3.4.6
源代码学习笔记(174)
5.13.5.3.1.2. 分析函数能否内联那么在构建好这部分调用关系网之后,开始真正分析这个函数了。主要的工作集中在分析该函数是否能内联。 cgraph_analyze_function(continue) 330 node->local.inlinable=tree_inlinable_function_p(decl);331 if(!node->local.self_insns)332
wuhui_gdnt
·
2011-03-12 16:00
function
tree
File
attributes
Duplicates
compilation
Studying note of
GCC-3.4.6
source (173)
5.13.5.3. Analysistranslation-unitAftercgraph_varpool_assemble_pending_declsemitsassembleforallpendingvariables(notethattheyarevisibleoutofthetranslation-unit),returnscgraph_finalize_compi
wuhui_gdnt
·
2011-03-12 15:00
GCC-3.4.6
源代码学习笔记(173)
5.13.5.3. 分析编译单元在cgraph_varpool_assemble_pending_decls为所有待定变量(注意它们是编译单元外可见)发布汇编后,回到cgraph_finalize_compilation_unit开始对该编译单元进行分析。 cgraph_finalize_compilation_unit(continue) 383 timevar_pus
wuhui_gdnt
·
2011-03-12 15:00
function
struct
tree
null
generation
compilation
Studying note of
GCC-3.4.6
source (172)
5.13.5.2.2.2. ThevariableAfteroutputtingtheinitializer(s),backassemble_variable,nextoutputthevariable. assemble_variable(continue) 1468 resolve_unique_section(decl,reloc,flag_data_sections); Above,fla
wuhui_gdnt
·
2011-03-12 15:00
Stream
object
File
tree
output
alignment
GCC-3.4.6
源代码学习笔记(172)
5.13.5.2.2.2. 变量输出初始值后,回到assemble_variable,接下来处理对应的变量。 assemble_variable(continue) 1468 resolve_unique_section(decl,reloc,flag_data_sections); 上面的flag_data_sections由选项–fdata-sections设置,它连同选项–ffunction
wuhui_gdnt
·
2011-03-12 15:00
Stream
object
File
tree
output
alignment
Makefile‘混和的隐含和普通规则’错误的解决
uid=25298908&do=blog&id=101009] 目标平台:龙芯3210开发板开发包内核源码目录:/home/linux_3210开发包内核版本:2.6.18.1交叉编译工具:
gcc
melong100
·
2011-03-10 20:00
工作
basic
Build
工具
平台
makefile
Studying note of
GCC-3.4.6
source (171)
5.13.5.2.2.1.1.3.3. FloatingpointNotlikevariantintegerconstantsthere,inC++front-end,constantofREAL_TYPEtypecanonlybeREAL_CST. output_constant(continue) 3791 caseREAL_TYPE:3792 if(TREE_
wuhui_gdnt
·
2011-03-06 18:00
String
tree
Integer
byte
Constructor
output
GCC-3.4.6
源代码学习笔记(171)
5.13.5.2.2.1.1.3.3. 浮点数与形式多样的整形常量不同,在C++的前端中,具有REAL_TYPE类型的常量只能是REAL_CST。 output_constant(continue) 3791 caseREAL_TYPE:3792 if(TREE_CODE(exp)!=REAL_CST)3793 error("initializerfor
wuhui_gdnt
·
2011-03-06 18:00
tree
Integer
buffer
byte
Constructor
output
Studying note of
GCC-3.4.6
source (170)
5.13.5.2.2.1.1.3. EmitassemblercodeBackoutput_constant_def_contents,ifthevariablehasalignmentbiggerthan1byte,itneedsinvokeASM_OUTPUT_ALIGNtooutputthisrequirement,herewhatoutputislogarithmofbase2ofth
wuhui_gdnt
·
2011-03-06 17:00
vector
struct
File
tree
Integer
output
GCC-3.4.6
源代码学习笔记(170)
5.13.5.2.2.1.1.3. 发布汇编代码回到output_constant_def_contents,如果变量有大于1字节的对齐要求,还要调用ASM_OUTPUT_ALIGN来输出这个信息,这里输出的是以2为底对齐量的对数。对于x86,这个宏的定义是: 54 #defineASM_OUTPUT_ALIGN(FILE,LOG) /
wuhui_gdnt
·
2011-03-06 17:00
Studying note of
GCC-3.4.6
source (169)
5.13.5.2.2.1.1.2. SelectoutputsectionAfterfindingoutorcreatingtheconstantdescriptor,nextinoutput_constant_definvokesbelowfunctiontotrytooutputthisconstantinmemory. 2509staticvoid2510maybe_output_con
wuhui_gdnt
·
2011-02-26 15:00
GCC-3.4.6
源代码学习笔记(169)
5.13.5.2.2.1.1.2. 确定输出节找到或准备好了常量描述符之后,接着在output_constant_def中调用下面的函数,尝试在内存中输出这个常量。 2509staticvoid2510maybe_output_constant_def_contents(structconstant_descriptor_tree*desc,invarasm.c2511
wuhui_gdnt
·
2011-02-26 15:00
tree
merge
Constructor
output
alignment
Constants
Studying note of
GCC-3.4.6
source (168)
5.13.5.2.2.1. TheinitializerHereonourtargetLinux/x86,theoutputfilewouldbeofformatELF.ELFistheformatsupportsrelocatableandPIC(positionindependentcode).Chapter3of[10]givesagooddescriptionaboutELF.Assumm
wuhui_gdnt
·
2011-02-26 15:00
tree
reference
Descriptor
attributes
Constants
Pointers
GCC-3.4.6
源代码学习笔记(168)
5.13.5.2.2.1. 初始值这里在我们的目标Linux/x86,输出文件将具有格式ELF。ELF是支持重定位及PIC(位置无关代码)的格式。【10】的第三章给出了关于ELF的一个很好的解释。从【10】的总结中,我们得到:ELF文件有3种稍有不同的风格的形式:可重定位(relocatable),可执行(executable)及共享对象。可重定位文件由编译器及汇编器创建,但在运行前需要链接器的处
wuhui_gdnt
·
2011-02-26 15:00
tree
reference
Descriptor
attributes
Constants
Pointers
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他