??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美日韩国产一区二区三区地区,中文精品视频一区二区在线观看,日韩香蕉视频 http://m.shnenglu.com/skyscribe/category/11050.htmlzh-cn Sun, 09 May 2010 17:01:21 GMT Sun, 09 May 2010 17:01:21 GMT 60 GCC4.5的profile mode http://m.shnenglu.com/skyscribe/archive/2010/05/09/GCC4_5ProfileMode.htmlskyscribe skyscribe Sun, 09 May 2010 07:16:00 GMT http://m.shnenglu.com/skyscribe/archive/2010/05/09/GCC4_5ProfileMode.html http://m.shnenglu.com/skyscribe/comments/114920.html http://m.shnenglu.com/skyscribe/archive/2010/05/09/GCC4_5ProfileMode.html#Feedback 0 http://m.shnenglu.com/skyscribe/comments/commentRss/114920.html http://m.shnenglu.com/skyscribe/services/trackbacks/114920.html q里Q, q增加了一个新的profile模式Q尚处于试验阶段Q,可以ҎE序q行状态给出关于STL使用的一些优化徏议?br> 参看如下的描qͼ
An experimental
profile mode has been added. This is an implementation of
many C++ standard library constructs with an additional analysis
layer that gives performance improvement advice based on
recognition of suboptimal usage patterns. For example,
#include <vector> int main() { std::vector<int> v; for (int k = 0; k < 1024; ++k) v.insert(v.begin(), k); }
When instrumented via the profile mode, can return suggestions about
the initial size and choice of the container used as follows:
vector-to-list: improvement = 5: call stack = 0x804842c ... : advice = change std::vector to std::list vector-size: improvement = 3: call stack = 0x804842c ... : advice = change initial container size from 0 to 1024
These constructs can be substituted for the normal libstdc++
constructs on a piecemeal basis, or all existing components can be
transformed via the -D_GLIBCXX_PROFILE macro.
q个profile mode的主要作用就是根据代码实际运行状늻出关于STL的用优化徏议。有炚w憄是,该profileҎ是intrusive的,必须d-D_GLBCXX_PROFILE来重新编译所有的代码?br> Profile mode的提出源?9qCGO的一?a >paperQ作者里边出C华h的名字(Ҏ拼音来判断);作者地址填的昄是Purdue大学的: Dept. of Comput. Sci., Purdue Univ., West?br> GCC的Profiler对C++的支持一贯停留在和C同样的水qI׃C++模板机制和OO的存在得很多时候分析profilingl果的意义被大大削弱?br>q个针对STL的profile modeq是很值得期待的?br> ]]> boost.cmake: 方便解决boost的升U问?/title> http://m.shnenglu.com/skyscribe/archive/2010/05/09/114919.htmlskyscribe skyscribe Sun, 09 May 2010 06:59:00 GMT http://m.shnenglu.com/skyscribe/archive/2010/05/09/114919.html http://m.shnenglu.com/skyscribe/comments/114919.html http://m.shnenglu.com/skyscribe/archive/2010/05/09/114919.html#Feedback 0 http://m.shnenglu.com/skyscribe/comments/commentRss/114919.html http://m.shnenglu.com/skyscribe/services/trackbacks/114919.html boost每次升之后Q重新用bjam~译一ơ都很是不便Q某些^収ͼ用默认选项~译有些问题Q基本安装不成功Q?br> 最q才发现boost的cmake版本已经独立出来了,对于使用cmake的用戯言Q这里是个不错的选择?br>目主页 的文很是清晎ͼ最新的版本?.41 (版本号对应的基本是其upstream的boost版本??br>源代码是用gitl织的,对于Linux用户而言更加方便?br> 引用其主上的一句话Q?br>
Boost.
CMake
(or
alt.boost )
is the boost distribution that all the cool kids are
using.
CMake + GIT +Spinx 实够酷了?br>~译h可以充分利用强大的CMake了:
git clone git://gitorious.org/boost/cmake.git src cd src git checkout <TAG> //TAG==1.41.0.cmake0 mkdir bld cd bld/ cmake ../
如果需要按需~译某些库,只需用make edit_cache修改cache卛_?br>
]]> CMake杂记 http://m.shnenglu.com/skyscribe/archive/2009/07/04/89219.htmlskyscribe skyscribe Sat, 04 Jul 2009 05:15:00 GMT http://m.shnenglu.com/skyscribe/archive/2009/07/04/89219.html http://m.shnenglu.com/skyscribe/comments/89219.html http://m.shnenglu.com/skyscribe/archive/2009/07/04/89219.html#Feedback 0 http://m.shnenglu.com/skyscribe/comments/commentRss/89219.html http://m.shnenglu.com/skyscribe/services/trackbacks/89219.html
所谓的内外Q指的是make目录和CMakeLists.txt不在一个目录下?br>好处是,所有的临时文g都会生成在当前运行cmake/make的目录?br>譬如在项目根目录有一个CMakeLists.txt作ؓtop-level file, 几个代码子目录,一个build目录Q可以用Q?br>
cd build cmake .. make
此时中间文g不会污染目的目录结构?br>
2> 可以用如下方式生成同名的静态库和动态库Q?/li>
set (libname " mylib " ) add_library(libname_static STATIC src1 src2) set_target_properties(libname_static OUTPUT_NAME ${libname}) add_library(libname SHARED src1 src2)
3> 如何获取当前q行目录Qworking directoryQ?可以在根目录讄一个project_dir变量Q设|ؓ源代码目录,如下
set (project_top_dir ${CMAKE_CURRENT_SOURCE_DIR} / " ) add_subdirectory(sub1) add_subdirectory(sub2)
此时Q各个子目录中可以应用project_top_dir.
4> 处理跨^台的W三方库Q假讄三方库不是由CMake~译得来Q但要检依赖和变动Q则可以用imported属性:
add_library(ssllib SHARED IMPORTED) add_library(cryptolib SHARED IMPORTED) #May have different dependent libraries set (libsuffix ${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}) set_target_properties(ssllib PROPERTIES IMPORTED_LOCATION " ${project_top_dir}contrib/openssl/lib/libssl-${libsuffix}.so " ) set_target_properties(cryptolib PROPERTIES IMPORTED_LOCATION " ${project_top_dir}contrib/openssl/lib/libcrypto-${libsuffix}.so " ) ........................ #other CMakeLists.txt add_executable(myExe src1 src2) target_link_libraries(myExe ssllib cryptolib)
]]> 利用cmake来搭建开发环?/title> http://m.shnenglu.com/skyscribe/archive/2009/07/01/89026.htmlskyscribe skyscribe Wed, 01 Jul 2009 13:51:00 GMT http://m.shnenglu.com/skyscribe/archive/2009/07/01/89026.html http://m.shnenglu.com/skyscribe/comments/89026.html http://m.shnenglu.com/skyscribe/archive/2009/07/01/89026.html#Feedback 0 http://m.shnenglu.com/skyscribe/comments/commentRss/89026.html http://m.shnenglu.com/skyscribe/services/trackbacks/89026.html GNU autotools提供了一个不错的选择Q可以做到组l工具链来生成所需的MakefileQ但~陷是学习v来比较麻烦,而且模版文g写v来比较费劌Ӏ老实说我跟Makefile打了q?q的交道Q几乎没有自己写qautomake脚本Q相反的工作倒是q了不少Q譬如分析生成的Makefileq行q程Q然后模拟自己手写MakefileQ得C个轻爽的定制环境?br> 除了autotoolsQ其实也有不其他的工具Q譬如apache的antQ基于Python的sconsQant在java界是鼎鼎大名了,可惜对c++的支持确实让我感觉很不习惯;sconsL可以嵌入Python代码Q用h也算单,但是惛_现复杂的功能很头疼了,而且q行速度让h挠头?br> cmake则I补了上述几个工具的诸多缺P 1> 易于学习Q文易懂,只需牢记以下两个命o卛_Q?br>
cmake -- help cmake -- help - command - list cmake -- help - command xxx cmake -- help - variable - list cmake -- help - variable yyy
2> 以文本文件组l,利用cache的方式,所有的自定义cache变量可直接用vim查看?br>3> 生成的Makefile文gz易?br>4> ~译器选项可自己在ccmake中编辑,利于交叉~译 5> 支持集成ctest/cpack,前者可以方便的做单元测试,后者则可以打包生成tgz/rpm 6> 支持多个生成器,可以生成eclipse/codeblocks/gmake/unix make文gQ甚臛_以生成VC各个版本的dsw/sln. 7> 内嵌语言Q可以自己写函数、宏{?br> 对于l常写小试E序的h来说Q在test目录下加上个CMakeLists.txtQ里边加上几行简单的语句可以方便的以后重复使用了。对于这U情况,手工写的Makefile到依赖这U麻烦的事情往往力不从心Qautomake又太题大作Q而cmake则恰到好处了?br> 对于大型E序Qcmake可以自己定制生成的中间文件和目标文g路径Q有效避免了automake带来的每个目录下生成一大堆文g的弊端,也不需要手工写Makefile?br>最有用的是可以生成多个知名IDE的工E文Ӟ包括Windows下的vc6-vc9. ]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
ŷ |
պŮƵַ߹ۿ
|
ŷƷ |
ŷjizzhdƷŷˮ
|
ۺɫһ |
ŷvaŷ |
ŷպһ |
ŷһƵ |
һ |
ƷСƵ |
ҹƬ |
þûɫҳ |
Ʒwww |
ŷֲ߹ۿ |
߹ۿ |
ҹձ߹ۿ |
ŷһ |
һ |
ŷһ߹ۿ |
Ʒһ˿ |
Ů |
һһһav |
ŷvvۺϢv |
պŷƵ |
ŷƵ |
ŷƷ |
ŷۺϹ |
Ƶ |
þþþ |
պϵ |
gaygayŷƵ |
ƷۺϾþþþ99 |
99ƷԲ |
ɫavһ߹ۿ |
һ |
þùھƷƵ |
Ʒþþ |
Ʒ91 |
þþƷƵ |
һ |
ŷպƷѿ |
Ʒþ˰ |
ɫavһ |
լ66һ |
ŷձһ |
99Ʒ99 |
Ʒһӣ
|
ƷŮ˾þþ |
պŷۺ |
ŷvavaƵva |
ݺɫݺɫۺtg
|
ŷͽѿ |
ۺַ |
ŷĻ |
һ |
þ͵wcŮ͵ |
߾Ʒ |
þþһ |
þþƷþ |
պŷƷ |
ŷһƵ |
СƵ |
|
þþۺ |
þþþù |
Ůٸžž |
ɫþһ
|
һ |
ŷƵ |
һƷƵ |
ƷŮþþþ |
ŷһ |
һ |
һaŮ |
ŷƵƷ |
ŷһ߹ۿ |
ŷ999 |
Ӱ
|
ŷһպһ |
ҹƷþ |
ŷ1ձ1 |
ŷ龫Ʒþþþþô߶ |
ѳav |
պŮƵַ߹ۿ |
Ʒۺҹҹ |
þù鶹91 |
ŷaһ |
ŷһþ |
þþžžƷ |
һѿ |
ŷƷ˾þ |
Ʒ˾Ʒ |
һ˾Ʒ |
ɫһ |
ƷŷƷ |
պŷ鶹 |
߿ |
͵þþþƷר |
Ƶ |
Ʒ߹ۿ |
պһƷ |
Ʒһ |
ҹӰԺպ |
Ӱ߹ۿ |
ŷҹ |
ŮƵһ |
þۺϳ˾Ʒŷ |
Ʒձ |
ŷƷŷһٸ |
һƵ |
ŷһƵ |
9ˬ˾Ʒ |
ŷۺ͵ |
|
þþƷһþ99Ʒ |
aaƬŷ |
ŮžžڵѾþվ |
ŷһþþþþþôƬ |
һ ߹ۿ |
պƵ |
һƵ |
˾һ |
ŷ|ŷ |
Ʒһ |
ձvaҹӰԺ |
һƵ |
߲ |
һ |
ŷպ |
ëƬav |
պƵһ |
þƵ |
þһƷ |
һӰ |
ŷվ |
þ97 |
˳ɾƷһ |
Ƶ |
þô߹ۿ2 |
ƷӰԺ߹ۿ |
߹ۿƵ |
ŷһƬһ |
Ƶһŷ |
þavԴվ |
þþ |
av |
ˮƵһ |
һѲ |
Ʒþþ |
ŷƷѲ |
Ʒһַ |
һӰԺ |
ƷˬҵĿɰ |
һ |
þþŮ |
һ߲ |
ŷƷһ |
Ƶþ |
þ㽶߿ۿav |
|
Ʒ |
þþŷղv |
˿һ |
ҹƷþ99ҵĹܽ |
һѹۿ |
þþ |
ŷŷ |
˾Ƶþ |
պŷ |
ѡ |
Ļ |
ɫƷ |
ŷþþxxx |
Ļһ |
ŷպƷһ18 |
Ƶ |
߹ۿһ |
ƷƬwwwwww |
þˬˬˬ˾þþ |
һþ |
߾Ʒ |
þþþƷ |
һ߲ |
ɫav |
ƷպӰ |
ŷƵ |
ŷ |
պҹƵ |
ŷƵ߹ۿ |
þþwwwëƬ鶹 |
һŷ |
Ʒ˳ |
99ƷԲ |
ɫСƵ |
ŷvaŷva㽶 |
ŷպƵһ |
ŷtv |
ȾƷƵ |
þôƵ |
ŷ߹ۿһ |