小编Ben*_*ier的帖子

为什么要用-O2而不是-O3编译

我们通常编译-O2因为-O3会"触发微妙的错误".

对于我们的GCC版本,-O3可以实现更积极的内联,这实际上可以揭示其他未被注意到的错误(例如,使用来自将其作为引用参数或对数组进行越界访问的函数的未初始化值).在我看来,这种积极的内联还允许使用更小的函数进行更具表现力的编码方式,并-funswitch-loops有助于在循环中保持变量定义更加局部化.

鉴于我们的代码中的错误比编译器错误更有可能,并且我们使用时-Wall -Wextra没有任何问题我们应该寻找什么样的错误?

如果重要我们使用gcc-4.3.2.编译时间对我们来说不是一个主要问题.

optimization g++

16
推荐指数
2
解决办法
2281
查看次数

运行jekyll new命令时出错

尝试运行以下命令时收到错误:

jekyll new myblog
Run Code Online (Sandbox Code Playgroud)

错误如下:

/var/lib/gems/1.8/gems/commander-4.1.5/lib/commander/runner.rb:365:in `require_program': program version required (Commander::Runner::CommandError)
from /var/lib/gems/1.8/gems/commander-4.1.5/lib/commander/runner.rb:364:in `each'
from /var/lib/gems/1.8/gems/commander-4.1.5/lib/commander/runner.rb:364:in `require_program'
from /var/lib/gems/1.8/gems/commander-4.1.5/lib/commander/runner.rb:52:in `run!'
from /var/lib/gems/1.8/gems/commander-4.1.5/lib/commander/delegates.rb:7:in `run!'
from /var/lib/gems/1.8/gems/commander-4.1.5/lib/commander/import.rb:10
from /usr/local/bin/jekyll:19
/usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require': no such file to load -- json (LoadError)
from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /var/lib/gems/1.8/gems/jekyll-1.3.0/bin/../lib/jekyll/filters.rb:2
from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /var/lib/gems/1.8/gems/jekyll-1.3.0/bin/../lib/jekyll.rb:43
from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /var/lib/gems/1.8/gems/jekyll-1.3.0/bin/jekyll:7
from /usr/local/bin/jekyll:19:in `load'
from /usr/local/bin/jekyll:19
Run Code Online (Sandbox Code Playgroud)

我运行了ElementaryOS,并且还安装了ruby-dev(1.9.1).

jekyll

15
推荐指数
1
解决办法
2387
查看次数

为什么迭代元素数组乘法在numpy中减慢?

下面的代码再现了我在目前正在实现的算法中遇到的问题:

import numpy.random as rand
import time

x = rand.normal(size=(300,50000))
y = rand.normal(size=(300,50000))

for i in range(1000):
    t0 = time.time()
    y *= x
    print "%.4f" % (time.time()-t0)
    y /= y.max() #to prevent overflows
Run Code Online (Sandbox Code Playgroud)

问题是经过一些迭代后,事情开始逐渐变慢,直到一次迭代所花费的时间比最初多一倍.

放缓的情节 在此输入图像描述

Python进程的CPU使用率在整个时间内稳定在17-18%左右.

我正在使用:

  • Python 2.7.4 32位版本;
  • Numpy 1.7.1与MKL;
  • Windows 8.

python numpy slowdown

14
推荐指数
1
解决办法
753
查看次数

在matplotlib中指定图例框架的线宽

在matplotlib中,如何指定图例框的线宽和颜色?

python matplotlib

14
推荐指数
2
解决办法
8423
查看次数

VIM自动调整焦点窗口

我正在慢慢学习vim及其强大的功能.关于分割窗口(主要是水平分割),我有一个问题.有没有办法自动调整当前所选(焦点)窗口的大小?例如,假设一个设置使得聚焦窗口总是占据屏幕的70%.

使用Ctrl-w(数字)+/ -每次都不是很有效,特别是当我经常在几个文件之间跳转时.

如果有办法将其限制为仅水平分割的窗口,那也很酷.

vim

12
推荐指数
2
解决办法
6037
查看次数

lto和fat-lto-objects之间的gcc有什么区别

我试图用下一个标志编译汇编我的源代码:
1.2 -flto
. -flto -ffat-lto-objects
3.-flto -fno-fat-lto-objects

第三个提供slim了文档中编写的优化LTO代码,但我没有看到输出汇编文件在第一个和第二个之间有任何差异,为什么?

OS:linux
编译器:GCC 4.7

optimization gcc lto

11
推荐指数
1
解决办法
6104
查看次数

查找点是否在几何体内

我正在编写一个代码,需要查找某个点是否在特定几何体内.几何体可以是2维中的n边多边形(不一定是凸面)或3维中的STL几何.我实际上可以使用一些可用的算法编写搜索代码.但我正在寻找一个可以满足这些目的的软件库.它可以是更大的图书馆的一部分.对免费提供的任何此类图书馆或代码的任何建议都可以.谢谢.

c++ geometry stl point polygon

11
推荐指数
2
解决办法
2075
查看次数

Vim,LaTeX,自动换行和版本控制

我正在用vim编写一个LaTeX文档,并且我用80个字符进行硬包装以使阅读更容易.但是,这会导致跟踪版本控制中的更改时出现问题.例如,在本文开头插入"Lorem ipsum":

1 Dolor sit amet, consectetur adipiscing elit. Phasellus bibendum lobortis lectus
2 quis porta. Aenean vestibulum magna vel purus laoreet at molestie massa
3 suscipit. Vestibulum vestibulum, mauris nec convallis ultrices, tellus sapien
4 ullamcorper elit, dignissim consectetur justo tellus et nunc. 

结果是:

1 Lorum ipsum dolor sit amet, consectetur adipiscing elit. Phasellus bibendum
2 lobortis lectus quis porta. Aenean vestibulum magna vel purus laoreet at
3 molestie massa suscipit. Vestibulum vestibulum, mauris nec convallis ultrices,
4 tellus …

git vim version-control latex word-wrap

10
推荐指数
1
解决办法
2541
查看次数

Vim:功能复制

是否有复制完整功能的命令?(不是通过鼠标选择)

例如:10yy- >将从10光标位置复制线条.
我不知道函数的行号,但想要复制整个函数.

是否有任何复制整个功能的命令?

vim

10
推荐指数
3
解决办法
5052
查看次数

粘贴垂直选择时避免额外的空格

我经常需要复制更大的垂直选择,例如在使用(让我们保持文明)"getter/setter"丰富的界面时,例如

A very long line with something I would like to copy: ABC$
A short line with nothing$
A very long line with something I would like to copy: ABC$
Run Code Online (Sandbox Code Playgroud)

在这里,我已经习惯于$表示该行的结尾.我现在在例如A列55中的所有行上进行视觉垂直选择,将其拉出并P在该列之前粘贴它并在第二行中插入额外的空格.

A very long line with something I would like to copy: AABC$
A short line with nothing                              $
A very long line with something I would like to copy: AABC$
Run Code Online (Sandbox Code Playgroud)

有没有办法避免额外的空白?在垂直视觉选择中更改字符似乎不会遇到此问题.

vi vim

8
推荐指数
1
解决办法
542
查看次数

标签 统计

vim ×4

optimization ×2

python ×2

c++ ×1

g++ ×1

gcc ×1

geometry ×1

git ×1

jekyll ×1

latex ×1

lto ×1

matplotlib ×1

numpy ×1

point ×1

polygon ×1

slowdown ×1

stl ×1

version-control ×1

vi ×1

word-wrap ×1