W*****x 发帖数: 684 | 1 $ cd geoip-api-c-master
$ libtoolize
$ aclocal
$ autoconf
$ automake --add-missing
$./configure
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
... 阅读全帖 |
|
S**I 发帖数: 15689 | 2 我从2.x的时候就开始用Xcode了,对Xcode编译器的变更历史还是相当了解的:每次
Xcode编译器的更改都会导致某些旧的project编译出错,搞清楚编译器版本是必须的。
Xcode在2.x时只有GCC,LLVM-GCC是在3.x加入的,但3.x的默认编译器仍然是GCC。纯
LLVM编译器是在某个3.2.x版本加入的,但是刚开始的时候很buggy,完全靠不住。4.x
带的还是GCC,LLVM-GCC和LLVM这三个编译器,但是默认不再是GCC,而是改成了LLVM-
GCC;LLVM仍然是打酱油。5.x去掉了GCC,保留了LLVM-GCC,但把默认的编译器改成了
LLVM(Clang)。
从Xcode加入LLVM开始,Xcode自带的GCC和LLVM-GCC的前端基本上就没再变过,一直
是4.2.1,直到今天。所以一些legacy的project从好几年起就没法用Xcode编译了,得
单独安装GCC才能搞定。 |
|
b*****e 发帖数: 762 | 3 老板给了我一个128核的服务器的supervisor的权限,叫我跑模拟。 但是我不能正确装
软件。老板的账户ssh进去可以正常工
作,他也给了我几个环境变量:
PATH=/usr/local/bin:/usr/lib64/qt-
3.3/bin:/usr/kerberos/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/lib64/openmpi/1.
4-
gcc/bin:/usr/lib64/openmpi/1.4-gcc/lib
LD_LIBRARY_PATH=/usr/lib64/openmpi/1.4-gcc/lib
QTDIR=/usr/lib64/qt-3.3
QTINC=/usr/lib64/qt-3.3/include
QTLIB=/usr/lib64/qt-3.3/lib
MPICC=/usr/lib64/openmpi/1.4-gcc/bin/mpicc
MPIEXEC=/usr/lib64/openmpi/1.4-gcc/bin/mpiexec
LIBS=/usr/lib64/openmpi/1.4-gcc/lib/libmpi_cx... 阅读全帖 |
|
R*******c 发帖数: 249 | 4 搞了三四天了,还是没成功,实在是崩溃了。。。只能上来请大牛们帮忙看看问题出在哪?
从网上下载了一个R的package(一个zip文件),这个包是在mac上build的,在mac里运行没有
问题,我现在想在windows下用这个包,直接通过R里面的install package from local
zip file会有错误如下:
Error in gzfile(file, "r") : cannot open the connection
In addition: Warning messages:
1: In unzip(zipname, exdir = dest) : error 1 in extracting from zip
file
2: In gzfile(file, "r") :
cannot open compressed file 'curves2_1.0.1.tar.gz/DESCRIPTION',
probable reason 'No such file or directory'
所以决定先将zip文件解压缩成文件夹,然后在windows下把这个包buil... 阅读全帖 |
|
p**o 发帖数: 3409 | 5 不知道版上有没有用Python做科学计算的同好,
本人近日在带Lion的新MBA上安装Python科学计算包遇到了困难,
现把失败经历小结如下,希望后来人不要重走弯路,
如果能为本人指出一条“正路”就更感谢。
尝试1. MacPorts
macports是我第一个试的,下面这些包可以通过编译:gnuplot libsvm py27-numpy
py27-scipy py27-matplotlib python27-doc py27-sympy py27-ipython py27-
networkx py27-pymc py27-django py27-libdnet py27-lint py27-mysql py27-pip
py27-ply py27-pygraphviz py27-pyrex py27-rpy2 py27-scientific py27-sqlite
py27-svn py27-tables py27-tornado igraph py27-igraph py27-numexpr py27-pp
py27-cython py27-psyco py27-twisted... 阅读全帖 |
|
y*****p 发帖数: 733 | 6
/usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.2/
when
果然原来设置了
# Environment for Ada
setenv GCC_EXEC_PREFIX /opt/ada/lib/gcc-lib/..
不懂这个ADA 是何物。不管,
setenv GCC_EXEC_PREFIX /opt/gnu/lib/gcc-lib/...
再 g++ -v 看看
Reading specs from /opt/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.8.1/specs
gcc version 2.8.1
现在编译就没有问题了.
没有解决的问题是,如果我按如下设置(这个是例子程序的设置)
setenv GCC_EXEC_PREFIX /usr/local/lib/gcc-lib/...
用g++ -v 看到的结果也是 Reading specs from /opt/gnu/lib/gcc-lib.....
但是在/usr/local/lib 目录下根本没有gcc-lib 这个目录,怎 |
|
h***o 发帖数: 539 | 7 你这个gcc太土了吧。hoho
hanzo@scimd: pts/0: 26 files 37Mb-> gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/specs
Configured with: /var/tmp/portage/gcc-3.3.3-r3/work/gcc-3.3.3/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.3 --includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3 |
|
t******g 发帖数: 372 | 8 于server local与否无关,或者至少给些error log 别人也好知道你尝试了啥,
S/W Requirements:
-----------------
MySQL client library ("libmysqlclient.so") and header files
(see www.mysql.com). For Linux/intel you may use the binary rpms
client+devel+shared, and make sure you also have the header files,
they are *NOT* included in the following
MySQL-client-4.1.7-1.i386.rpm
MySQL-shared-4.1.7-1.i386.rpm
but they are included in the latest 4.1.7 rpm versions.
The library libz. This is a stan... 阅读全帖 |
|
d******e 发帖数: 2265 | 9 转帖:
克里斯可以说是天才少年和好学生的代名词,他在2000年本科毕业之后,继续攻读计算
机硕士和博士。但克里斯并不是宅男,学习之余他手捧「龙书」游历世界,成为德智体
美劳全面发展的好学生。之后就是一篇又一篇的发表论文,硕士毕业论文即提出了一套
完整的运行时编译思想,奠定了 LLVM 的发展基础,读博期间 LLVM 编译框架在他的领
导下得到了长足的发展,已经可以基于 GCC 前端编译器的语义分析结果进行编译优化
和代码生成,所以克里斯在2005年毕业的时候已经是业界知名的编译器专家了。
注:很多计算机专业的大学生经常问我在大学里学点什么好,看看克里斯就行了。以目
前的科技信息开放程度,如果你在自己感兴趣的领域里用心耕耘,再加上那么一点点天
分,毕业时成为某一个专有领域的专家应该不是问题。那时就不是你满世界去找工作了
,而是工作满世界来找你!
克里斯毕业的时候正是苹果为了编译器焦头烂额的时候,因为苹果之前的软件产品都依
赖于整条 GCC 编译链,而开源界的这帮大爷并不买苹果的帐,他们不愿意专门为了苹
果公司的要求优化和改进 GCC 代码,所以苹果一怒之下将编译器后端直接替换为 LLVM... 阅读全帖 |
|
S*A 发帖数: 7142 | 10 你可以管 compiler 后端的内部表示方式为 VM, 正规叫 IR.
Java 因该是 stack 的。这个很难改了。
Apple 的东西都移到 llvm 上了,llvm 现在火,以后会更火。
gcc 太难 hack 了。gcc 以前很多东西是 RMS 起家的。RMS 满腔
热情,但是不是 CS 科班出身的,很多东西搞的没有使用上好的理论
指导。RMS 很擅长看看软件如何工作自己琢磨出来如何写一个了。
但是 compiler 是理论背景比较深的,gcc 很长时间都处于非常落后
的状态。很多 optimization 发生在不正确的阶段。gcc 的内部描述
就是 lisp 那样的,因为 RMS 特别喜欢 lisp,世界上所有的东西应该
都是长 lisp 那样的。gcc 支持的机器类型很多多,所以这种结构上
的改动非常困难,尾大不掉。gcc 4 是改用比较好一点的架构,不
用那些 lisp 的 IR. |
|
r*******n 发帖数: 3020 | 11 3.4. Creating a Shared Library
Creating a shared library is easy. First, create the object files that will
go into the shared library using the gcc -fPIC or -fpic flag. The -fPIC and
-fpic options enable ``position independent code'' generation, a requirement
for shared libraries; see below for the differences. You pass the soname
using the -Wl gcc option. The -Wl option passes options along to the linker
(in this case the -soname linker option) - the commas after -Wl are not a
typo, and you mus... 阅读全帖 |
|
y*****l 发帖数: 5997 | 12 ☆─────────────────────────────────────☆
tanmaomao (坛猫猫) 于 (Tue Nov 16 18:13:00 2010, 美东) 提到:
RT
☆─────────────────────────────────────☆
tanmaomao (坛猫猫) 于 (Tue Nov 16 18:24:25 2010, 美东) 提到:
发信人: tanmaomao (坛猫猫), 信区: Stock
标 题: Re: 铀价格走势图 (转载)
发信站: BBS 未名空间站 (Tue Nov 16 18:23:29 2010, 美东)
Ux U3O8 Price indicator is the longest-running weekly uranium price series,
used by the industry in sales contracts
☆─────────────────────────────────────☆
tanmaomao (坛猫猫) 于 (Wed Nov 17 09:34:37 20... 阅读全帖 |
|
t******t 发帖数: 15246 | 13 “支持国产CPU的编译系统及工具链”是 国家核高基重大专项课题(课题编号
为2009ZX01036-001-002),计算所是课题牵头承担单位,联合承担单位有中科院软件
所、北京大学、同济大学、中国科技大学。2010年课题取得了如下进展:所研制的支持
国产龙芯CPU的高性能编译系统,支持多种语言,性能高于商用编译器 GCC 的 30% 以
上;所开发的二进制翻译系统,性能达到GCC所产生代码的65%,并成功地为龙芯移植了
flash播放器。另外,本项目在高性能数学库软件包、程序调试和分析工具等方面,也
已基本上完成了合同约定的指标。具体进展如下:
龙芯基本编译系统的健壮性已基本达到产品编译器的水平。主要编译选项(O0/O2/
O3/ ipa/profiling)通过了 SPECCPU 2006 测试程序,SuperTest 通过率高于
GCC 的通过率,能够支持像 GCC 4.4 和 mplayer 等实际应用
程序,支持 Java、C++ 异常处理和 OpenMP3.0。结合龙芯3号处理器的新特征,通过数... 阅读全帖 |
|
M*****8 发帖数: 17722 | 14
............................
别做梦了。后清已放弃自己切身利益,倒向以国。
后清更感兴趣继续消气媚外,为坑过自己的以国建铁路。
踏入人家精心设计的陷阱,去得罪伊斯兰世界和其它中东国家。
看以下的连接:
http://www.atimes.com/atimes/China/NB02Ad01.html
A dragon dance in the Negev
By M K Bhadrakumar
There is no record of dragons in the nomadic life of the Negev desert, which
dates back at least 4, 000 years (some say 7,000). That may be about to
change in the Year of the Dragon.
The Bedouins of the Negev will soon witness the sight of a Chinese-built
railway line snaking its way thr... 阅读全帖 |
|
G*****h 发帖数: 33134 | 15 gcc 就算有后门,llvm 就算也有后门
把 gcc 源码用 llvm 编译一遍
没有 gcc 的后门了吧
再用这个新的 gcc 把 llvm 的源码编译一遍
这新的 llvm 就也没有老 llvm 里的后门了
再用这个把 gcc 编译一遍
就都干净了吧 |
|
c*********t 发帖数: 2921 | 16 Here is the results I got on my ubuntu (8.04) machine.
Compiled by gcc with all default options like gcc -o test1 test1.c
gcc version: gcc (GCC) 4.2.4
This result is just for reference. |
|
S**I 发帖数: 15689 | 17 你大概不是CS科班出身,至少没学过编译原理。:)编译器有两部分组成:前端负责语义
分析和语法检查,把源代码转换成中间形式,后端基于中间形式进行优化并生成二进制
机器代码。两部分是相对独立的。Xcode 5.x带的GCC不是真正的GCC,而是LLVM-GCC:
前端是GCC 4.2.1的前端,后端是LLVM。LLVM-GCC也不是默认的编译器:Xcode 5.x的默
认编译器是Clang,前后端都是LLVM。 |
|
s******u 发帖数: 501 | 18 如果是intel vs AMD,根本就不用提icc了
你总要固定一个变量吧,
固定compiler = icc, intel > AMD
固定compiler = gcc, intel > AMD
固定platform = intel, icc > gcc
固定platform = AMD, icc > gcc
icc on intel > gcc on AMD
gcc on intel ? icc on AMD |
|
J*******e 发帖数: 63 | 19 login as vadmin.
type a command on the bash shell
arm-elf-ar .. the command is executed
but type command using sudo
vadmin@ubu1004:~/GNU/gcc-4.1.1/built-gcc$ sudo arm-elf-ar
[sudo] password for vadmin:
sudo: arm-elf-ar: command not found
How could I configure the PATH
vadmin@ubu1004:~/GNU/gcc-4.1.1/built-gcc$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr
/local/arm/bin:/usr/local/arm/bin
arm-elf-ar locates in :/usr/local/arm/bin
vadmin@ubu1004:~/GNU/gcc |
|
F****3 发帖数: 1504 | 20 谢谢各位大哥帮忙!!!!
试了一下autoconf,好像卡住了。
fas133@ubuntu:~/temp/geoip-api-c-master$ autoconf
configure.ac:6: error: possibly undefined macro: AM_INIT_AUTOMAKE
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
./configure终于能执行了。
fas133@ubuntu:~/temp/geoip-api-c-master$ ./configure
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
... 阅读全帖 |
|
p***o 发帖数: 1252 | 21 Seems a bug of gcc ...
The following code is OK with gcc (Ubuntu 4.3.3-5ubuntu4) 4.3.3
but not gcc (GCC) 3.4.5 (mingw-vista special r3). So update your
gcc first.
class UPint
{
public:
UPint();
UPint(UPint &rhs);
UPint& operator=(const UPint &rhs);
UPint operator++(int);
};
int main()
{
UPint a, c;
c=a++;
return 0;
} |
|
d****n 发帖数: 1637 | 22 Sure I know you are not gcc developer.
here is my result
$ gcc -O3 -fprefetch-loop-arrays -funroll-loops -ffast-math matrix_op.c
-lm
$ ./a.out 20000
naive add: 2.200000 second; m[10000][10000]=1836335890
better add: 2.200000 second; m[10000][10000]=1836335890
sse2 add: 2.280000 second; m[10000][10000]=1836335890
Be honest, I never play with these fancy flags using gcc.
and I think the flags step on the mine.
##############man page for gcc####################
-fprefetch-loop-arrays
... 阅读全帖 |
|
|
l****o 发帖数: 2909 | 24 编译依赖的源码都来自Ubuntu9.1源上的源码包!
编译环境:
binutils 2.20-0ubuntu2
编译gcc4.4出现的错误:
../libsupc++/.libs/libsupc++convenience.a: member ../libsupc++/.libs/libsupc
++convenience.a() in archive is not an object
collect2: ld returned 1 exit status
make[10]: *** [libstdc++.la] Error 1
make[10]: Leaving directory `/home/cross-softs/gcc-4.4/gcc-4.4-4.4.1/build/
mipsel-linux-gnu/64/libstdc++-v3/src'
make[9]: *** [all-recursive] Error 1
make[9]: Leaving directory `/home/cross-softs/gcc-4.4/gcc-4.4-4.4.1/build/
mipsel- |
|
W*******a 发帖数: 1769 | 25 据悉,由沙特等海湾合作委员会(简称海合会,Gulf Cooperation Council——GCC)
成员国组成的
联军进入巴林,以帮助巴林当局镇压反政府示威。这意味着中东示威局势已出现演变为
“国际战”的征
兆。
据法新社14日报道,沙特当局确认了1000多沙特兵力进入巴林的消息。
美联社报道说,其他GCC国家的军队已经和沙特军队一同进入巴林。
GCC成员国包括沙特-阿拉伯、阿拉伯联合酋长国、科威特、卡塔尔、阿曼和巴林。沙特
兵力是应巴林当
局的要求进入巴林的。巴林王子萨尔曼当天明确表示:“作为GCC的成员国之一,我们
期待沙特保安部队
进入巴林。”
如果属于逊尼派的沙特皇室支持同为逊尼派的巴林皇室,派兵镇压什叶派示威人群,属
于什叶派的伊朗
为保护什叶派示威者介入巴林问题的可能性将变大。伊朗外长萨利希当天警告说,不要
暴力镇压巴林的
什叶派反政府示威人群。 |
|
D****y 发帖数: 2207 | 26 大多数初级码农看不懂Compiler的Code不是因为Code本身晦涩难懂而是他们缺乏
Compiler的背景知识。对于初步具备Compiler背景知识的人来说不管是Gcc还是LLVM的
代码都很容易懂。我二十年前刚入这一行的时候就是从Gcc源码起步的,今天Gcc的源码
质量更是比20年前有了质的飞跃,而LLVM的代码质量要比Gcc的更好。在学术界,
Stanford的SUIF和UMN的Agassiz都是构架很不错,容易上手的Compiler |
|
c***l 发帖数: 2490 | 27 一直一来,缺芯少魂一直是中国信息产业的心病,中国的CPU市场也一直被Intel、ARM
等国外厂商垄断,龙芯、申威、飞腾等国产CPU在社会上也往往遭到别有用心之徒诸如
“打磨芯片”、“骗经费”、“政绩工程”等舆论抨击。不久前,采用申威26010的神
威太湖之光在TOP500刷榜,飞腾也公布了采用ARM指令集的飞腾1500A和飞腾2000,龙芯
的3A3000也顺利完成流片,那么这些国产CPU的性能到底如何呢?
如何评价CPU
如何评价CPU的性能呢?从体系结构的角度来看,有个指标叫MIPS,即每分钟执行多少
条指令,执行指令数量越多,性能就越好,但这存在一个问题,当CPU指令集不同的时
候,比较MIPS就意义不大了——比如A一条指令只算一个加法,B一条指令能做一个1024
点的FFT。特别是在不同指令集的情况下,如何评价CPU的性能呢?
评价CPU性能必须考虑应用的多样性,比如科学运算重视双精浮点性能,但是如果数据
供不上,运算能力再强也没用;比如PC日常使用更偏重于定点性能;再比如计算中心多
任务环境关注的是吞吐率......因此单纯用某一个指标来衡量CPU性能是不科学的,必
须综合... 阅读全帖 |
|
k**********i 发帖数: 8706 | 28 When you have eliminated the impossible, whatever remains, however improbabl
e, must be the truth. -- Sherlock Holmes
大家都知道9月劳动节回来以后的两周,金融市场会很动荡。动因主要有2个:
(1)9月5日/12日ECB meeting/GCC ruling
(2) 9月12~13日FOMC statement
先谈谈我对第一个事件的预测。ECB在GCC裁决前不具备实施买进欧洲国家短期债券的信
心和能力(我们也看见在过去2周时间里,ECB主席Draghi仍然一如既往的在口头鼓吹要
买进欧洲国家短期债券,以维持市场信心)。GCC裁决在12日,因此5日的ECB meeting不
会产生实质性的结果,市场会表示失望,因此9月5日~12日欧洲股票和美国股票看跌,
黄金看涨。
12日GCC的结果很可能是维持ESM的法理有效性,但会对其行为添加诸多限制。因此对市
场的影响是短期负面,中期正面。结合市场前期对ECB有极高预期的落空,因此12日及其
后一周,欧洲股票和美国股票看跌,欧元... 阅读全帖 |
|
l****u 发帖数: 367 | 29 找到两个libgomp.a 分别在:
/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1
/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/x86_64
这个不是已经在xcode自己的安装目录里了吗? |
|
y*******d 发帖数: 1765 | 30 digua说的是在一些gcc上
所以你要证明所有gcc都会报才可以
当然就算你证明了所有你用的gcc都会报
digua也会自己写一个gcc出来
并且保证不会报 |
|
y*******d 发帖数: 1765 | 31 digua说的是在一些gcc上
所以你要证明所有gcc都会报才可以
当然就算你证明了所有你用的gcc都会报
digua也会自己写一个gcc出来
并且保证不会报 |
|
d*********8 发帖数: 2192 | 32 查了一下 arc和c++0x是新功能 我猜的没错 呵呵
Default Compiler
The default compiler for iOS development in Xcode 4.2 is LLVM 3.0. Compared
with the GCC compiler that was the default in Xcode 4.0 and the LLVM-GCC
compiler in Xcode 4.1, LLVM provides better code generation and optimization
than GCC, along with newer language support than LLVM-GCC, including
support for ARC in Objective-C and for the new C++ standard, C++0x. |
|
t****t 发帖数: 6806 | 33 on linux gcc, you may use gcc -m32 to compile the program into 32 bit anyway
. you need to install 32 bit glibc though. 32/64 bit glibc don't conflict.
the most significant sizeof() change between gcc -m32 and gcc -m64 is the
sizeof(T*) and sizeof(long) is changed from 32 to 64.
other types, such as char, int, short, float, double, are not changed. |
|
S*A 发帖数: 7142 | 34
gcc 是最 portable 的 compiler 了。用 gcc 就是非常 portable 了。
只有一个例外就是 MS. C 没有 C++ 那些 crazy renaming. 用 ming
把 C code 编译好和 MS 的 UI 部分链接就是了。
这个是陈年老帐了,C compiler 部分该实现的都实现了。剩下一些就是
Library 的改动超出 gcc 的控制范围的。 gcc 部分已经没有什么剩下
来的了。 |
|
S*A 发帖数: 7142 | 35 The gcc use a host cc to compile itself.
The it used the compiled gcc to compile the gcc
again to get to the right result.
You need a host CC to bootstrap your own C
compiler. The first UNIX cc is written in asm.
Now days every one just use gcc to boot strap.
Clang does that too. Now days Clang can compile
itself. |
|
|
j***y 发帖数: 2074 | 37 C里面是没有bool这个类型的,直到C99出现之后。
我发现系统中有stdbool.h这个header,但是gnu c library里面没有:
---
qxu@gso-linuxcom-01(pts/49):~/opensrc/glibc-2.11[120]> locate stdbool.h
/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/include/stdbool.h
/usr/lib/gcc-lib/i386-redhat-linux7/2.96/include/stdbool.h
/lib/ssa/gcc-lib/i386-redhat-linux-gnu/3.5-tree-ssa/include/stdbool.h
/export/WindRiver/3.0/bellona/0.02/toolchain/x86-linux2/lib/gcc/powerpc-wrs-
linux-gnu/4.3.2/include/stdbool.h
/export/WindRiver/3.0/bellona/0.02/toolchain/x86-lin |
|
y**b 发帖数: 10166 | 38 多谢两位回复!
我这个问题本来就不存在一个deterministic order, 所以串行的结果一样并不能说明
串行的结果就比并行的结果更正确。还好并行的误差并不离谱,而且输出的结果明显
看出是舍入误差的累积,一位一位地放大。看intel的报告很多大型模型如天气模型会
因为舍入误差累积而达到量级差别,吓了一跳!
最近狠狠研究了几天并行和浮点consistency的问题,发现这个问题还不是一般的普遍,
各位做数值尤其是高精度高频率领域比如碰撞和爆炸可能会有些经验,欢迎指点。
我自己的思路是:
1. 先从gcc跳到icc试一下,毕竟icc提供80bits register extended precision和很多
浮点调控选项如-fp-model, 我试验了一下,发现icc不仅比gcc慢,也不能解决这个
consistency问题。(也说明gcc性能还是很牛的)。
2. GCC quad precision math lib, 这玩意比较新,_float128和sinq()等能提供大约
33位十进制进度,而double和long double只能提供15位精度。我的程序非常依赖这些
三... 阅读全帖 |
|
S**I 发帖数: 15689 | 39 我拿几个编译器试了一下,默认的编译设置下,所有的编译器都是给warning,但是允
许通过:
GCC 4.8
LLVM-GCC 4.2.1
Clang
ICC
Visual C++
GCC 4.8, LLVM-GCC 4.2.1和Clang的warning message里明确说明编译的时候volatile
给去掉了,ICC和VC没说,不过我估计实现也差不多。 |
|
d****n 发帖数: 1241 | 40 google现在颇有些人在为clang贡献代码。
obj-c不太清楚,没有用过。不过从开源出来的
clang版本而言,抛开obj-c,clang还是一个对于gcc而言极有
竞争力的产品。好像现在openbsd还是其他一个bsd的版本,已经
替换gcc为clang了。
有竞争对于编译器的使用者而言,是好事情:)
gcc前段时间花大力气改进了内部的模块化,
我感觉clang的存在也是gcc做这个改进的驱动之一
because
In
for |
|
h**********c 发帖数: 4120 | 41 gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)
[root@somectshost ~]# gcc -V
[root@somectshost ~]# gcc hello.cpp -l stdc++ -o hello.exe
[root@somectshost ~]# cat hello.cpp
//refer to malloc example at cplusplus.com
#include
#include
int main() {
char * buffer;
buffer = (char*) malloc(10);
if (buffer == NULL) exit(1);
/*experiment this block, see what happens:
delete buffer;
delete buffer;
*/
if (buffer !=NULL) {
delete buffer;
buffer = NULL;
}
if (buffer !=NULL) {
delete... 阅读全帖 |
|
d****i 发帖数: 4809 | 42 Linux之父Linus Torvalds和自由软件之父Richard Stallman并称为软件行业的两大怪
杰,经常会语出惊人之词,就像Torvalds那样,他不喜欢的东西在他看来就一无是处,
不过,谁让人家是大牛呢?
Linus Torvalds 被认为是最伟大的程序员之一,因为他写出了使用最广泛的软件,如
Linux 内核和 Git 版本控制系统。但是他这个人经常因为讲话带有情绪,甚至是因为
带有脏话的意见而饱受非议。有些时候,Linus Torvalds 认为那些工作没做好,或者
持有不同观点或竞争关系的公司和组织,不管是正面的还是背面的,他的话里都是带着
火药味的。
尽管大多数情况下,Torvalds 愤怒的主要原因都是技术惹的祸,跟技术有关。但是,
我们还是不要期望已经45岁的 Torvalds 在情绪上能够缓和多少。好了,基于以上背景
,我们来了解一下 Torvalds 多年来对这11项技术有哪些不满的意见。
1. GNU Emacs
历史:Emacs 早已经是 Unix 和类 Unix 系统,包括 Linux 最常用的文本编辑器之一
。GNU Emacs 是使用最广泛... 阅读全帖 |
|
d****i 发帖数: 4809 | 43 你这个哪里是link,分明是compile,试试这样分两步
gcc -I$JAVA_HOME/include -c HelloJNI.c
gcc -o HelloJNI HelloJNI.o
或者一步
gcc -I$JAVA_HOME/include -o HelloJNI HelloJNI.c
-m64这个flag不用,GCC自动根据找到libc的版本来定。
.c |
|
d****i 发帖数: 4809 | 44 FreeBSD把它的默认的cc从GCC改成clang是有原因的,主要是GCC采用GPL license,和
FreeBSD的BSD license的完全自由随便自个儿改的理念不一样。而并非clang比gcc好。
实际上gcc还是比clang要成熟稳定很多。
gxx |
|
d****i 发帖数: 4809 | 45 FreeBSD把它的默认的cc从GCC改成clang是有原因的,主要是GCC采用GPL license,和
FreeBSD的BSD license的完全自由随便自个儿改的理念不一样。而并非clang比gcc好。
实际上gcc还是比clang要成熟稳定很多。
gxx |
|
w***g 发帖数: 5958 | 46 楼上帮我看看下面的说法有没有问题。
memory barrier有两种:
1. soft barrier: 阻止编译器乱优化。一般以volatile关键字的形式出现。编译后不
会产生对应的指令。有时候-O3出错,但是-O0对了,肯定是缺了soft barrier。
2. hard barrier: 阻止CPU乱执行。一般是以汇编指令/intrinsics的方式出现。改优
化级别不能解决hard barrier用错的问题。
外加一个独立的atomicity问题。
memory barrier和atomicity是两个不同的问题。比如a = a+ 1这个操作,涉及读/算/
写,即使用了memory barrier,在多线程之下还是会出问题。然而反过来,要保证
atomicity必须得用hard barrier。所以gcc的__sync_fetch_and_xxx系列指令全都有
hard barrier
的效果。std::atomic对于基本类型应该就是编译成__sync_fetch_and_xxx,复杂类型
应该是用锁实现,间接涉及__sync指令。所以不管怎样,也都有hard barri... 阅读全帖 |
|
d***c 发帖数: 21 | 47 find out where is your c compiler. Ask your sysadmin if necessary.
say it's /opt/gcc/bin/gcc
then ./configure CC=/opt/gcc/bin/gcc
also read "./configure --help" for other hints |
|
l*****y 发帖数: 10 | 48 The error of compiling is:
In file included from /usr/local/lib/gcc-lib/alpha-dec-osf5.1/2.9-gnupro-99r1
/../../../../include/g++-2/streambuf.h:36,
from /usr/local/lib/gcc-lib/alpha-dec-osf5.1/2.9-gnupro-99r1
/../../../../include/g++-2/iostream.h:31,
from /usr/local/lib/gcc-lib/alpha-dec-osf5.1/2.9-gnupro-99r1
/../../../../include/g++-2/fstream.h:30,
from /usr/local/lib/gcc-lib/alpha-dec-osf5.1/2.9-gnupro-99r1
/../../../../include/g++-2/fstream: |
|
y*****p 发帖数: 733 | 49 newhand learning unix programming, appreciate any info.
1) Is there any visual complier/linker like VC. Really have a bad time
using cc/gcc/g++.
2) Before using g++, i need to set:
setenv GCC_EXEC_PREFIX /usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.2/
How can I set and save it?
I didn't find gcc_lib in the above dicratory,
But find gcc-lib in /opt/ada/lib/gcc-lib/sparc-sun-solaris2.5.1/2.7.2/
Strange enough, the above setenv works.
If I try to use the /opt/ads/lib. |
|