更新到OS X 10.9后,我的macport出现问题.
我尝试按照本手册https://trac.macports.org/wiki/Migration修复它们.
但是当我安装命令行工具时:
xcode-select --install
我得到消息
无法安装软件,因为软件更新服务器当前无法使用该软件.
同时我成功将我的其他机器更新为OS X 10.9.和安装的命令行工具没有问题,所以它们必须可用.
这里有什么问题?
假设在由git版本化的项目中进行了两组更改.一套是上演的,另一套则没有.
我想通过在此状态下运行我的项目(在提交之前)来重新检查暂存的更改.什么是简单的方法来收起所有未分阶段的变化并且只留下上演?所以我需要从我的项目中消失的非分段更改,但是要存储在某个地方以便进一步工作.
这听起来非常像git stash命令.但是git stash会将未分阶段和分阶段的更改从我的项目中移除.我找不到类似的东西git stash uncached.
是否可以在Mac OS上以图形方式查看"svn diff"输出?
大多数图形差异程序允许您每次只查看一个文件.当你使用svn并且改变了10个文件时,这是非常不方便的.
对于Linux,我在" kompare "程序中找到了一个解决方案.我做:
svn diff > diffOut; kompare diffOut
Run Code Online (Sandbox Code Playgroud)
并且作为结果,我用图形化的工作计划和检查所有文件一次喜欢上了它显示图片.
Mac OS有同样的事吗?
PS"meld"程序似乎也是这样(或者它没有?),我已经尝试安装它,但是出现了错误.因此,我支持我无法在OSx 10.7下安装它.
直到本周我才正常使用gdb.现在运行gdb我看到:
(gdb) r
Starting program: /Volumes/MyProg
dyld: Library not loaded: @rpath/libCore.so
Referenced from: /Volumes/MyProg
Reason: image not found
(gdb)
Run Code Online (Sandbox Code Playgroud)
怎么解决?
我有:
PS
我重新安装了gdb和Xcode.这没有用.
我看到很多关于dyld问题的问题,但显然我对OSX上的库缺乏经验,而且它们对我来说似乎毫无用处.
例如这个主题:dyld问题库未加载 但是如何再次下载库?
或者这个主题:Dyld:库没有加载
但是如何找出安装名称?什么是@rpath?
如果精度不是至关重要的话,有没有办法在速度方面改善倒数(在X上除1)?
所以,我需要计算1/X. 是否有一些解决方法,所以我失去了精度,但做得更快?
我在我的本地主机(Windows 7,Chrome v79.0.3945.130(64 位))上测试了一个 html/js 代码,大约 50% 的时间代码更改没有反映在浏览器中(我用开发工具/源看到它)。
互联网上有很多建议,但似乎都不起作用:
<meta http-equiv="Cache-control" content="no-cache">在标题中 - 没有帮助。<script src="common.js"></script>为<script src="common.js?blabla"></script>- 在 60% 的情况下有帮助,但是您需要在每次更改后都执行此操作是一项繁重的工作。此外,它不适用于 html 更改。当我将代码提交到 github.io 时出现完全相同的问题
请帮我制作它,以便网站立即反映代码更改。
编辑:我创建了一个文件 index3.html 并在那里只放了“hello world”。在浏览器中打开文件。改为“hello world2”——浏览器更新了内容。更改为“hello world3” - 即使在多次重新加载和“清空缓存和硬重新加载”之后,浏览器仍然显示“hello world2”。我改为“hello world4”——浏览器仍然显示“hello world2”。4 个小时后,我改为“hello world5”——浏览器仍然显示“hello world2”。我用基本记事本编辑了这个文件。
Edit2:人们一直在问我正在使用什么服务器。这看起来是问题的一部分。不幸的是,我不知道,也不知道我到底需要做什么来检查它。以下是我迄今为止发现的所有内容:
inetpub/wwwroot放置 html 和 js 文件的目录,然后在浏览器中打开 index.html http://localhost/。如何在OSX 10.9上安装gdb?
我尝试使用macports:
port install gdb
Password:
...
---> Updating database of binaries: 100.0%
---> Scanning binaries for linking errors: 100.0%
---> No broken files found.
Run Code Online (Sandbox Code Playgroud)
但是我没有gdb可执行文件:
$ which gdb
$
Run Code Online (Sandbox Code Playgroud)
我 发现 Mac上的macports gdb叫做ggdb.所以我建立了一个链接:
sudo ln -s /opt/local/bin/ggdb /opt/local/bin/gdb
$ gdb --args ./prog -time
GNU gdb (GDB) 7.6
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO …Run Code Online (Sandbox Code Playgroud) 对不起,可能是太抽象的问题,但对我来说这是非常实用+可能是一些专家有类似的经验,可以解释它.
我有一个大代码,大约10000行.
我注意到如果在某个地方我放了
if ( expression ) continue;
Run Code Online (Sandbox Code Playgroud)
其中expression 始终为false(使用代码逻辑和cout进行双重检查),但取决于未知参数(因此编译器不能简单地在编译期间摆脱此行),程序的速度提高了25%(计算结果)是相同的).如果我测量环路本身的速度,则加速因子大于3.
为什么会发生这种情况?如果没有这些技巧,有什么方法可以使用这种加速的可能性?
PS我使用gcc 4.7.3,-O3优化.
更多信息:
我尝试过两种不同的表达方式.
如果我将行更改为:
if ( expression ) { cout << " HELLO " << endl; continue; };
Run Code Online (Sandbox Code Playgroud)
加速消失了.
如果我将行更改为:
expression;
Run Code Online (Sandbox Code Playgroud)
加速消失了.
围绕该行的代码如下所示:
for ( int i = a; ; ) {
do {
i += d;
if ( d*i > d*ilast ) break;
// small amount of calculations, and conditional calls of continue;
} while ( expression0 );
if ( d*i > dir*ilast ) …Run Code Online (Sandbox Code Playgroud)我使用-Wall并更新到新的gcc我有很多warning: narrowing conversion.我想禁用它们,但保持所有其他警告不受影响(理想情况下).
我narrowing在http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html中找不到任何内容
如何禁用缩小转换警告?有可能吗?
PS
我需要禁用警告,而不是在源代码中修复它们.
盲目-Wno-conversion没有帮助.
关于我的问题:
我有一台带有2个AMD Opteron 6272和64GB RAM插槽的电脑.
我在所有32个核心上运行一个多线程程序,与运行2个程序的情况相比,速度降低了15%,每个程序在一个16核心插槽上运行.
如何以两个程序的速度制作单程序版本?
更多细节:
我有大量的任务,并希望完全加载系统的所有32个核心.因此,我将任务分组打包1000个.这样的组需要大约120Mb的输入数据,并且需要大约10秒才能在一个核心上完成.为了使测试更加理想,我将这些组复制32次,并使用ITBB的parallel_for循环在32个核心之间分配任务.
我pthread_setaffinity_np用来确保系统不会让我的线程在核心之间跳转.并确保所有核心都得到了相应的使用.
我mlockall(MCL_FUTURE)用来确保系统不会让我的内存在套接字之间跳转.
所以代码看起来像这样:
void operator()(const blocked_range<size_t> &range) const
{
for(unsigned int i = range.begin(); i != range.end(); ++i){
pthread_t I = pthread_self();
int s;
cpu_set_t cpuset;
pthread_t thread = I;
CPU_ZERO(&cpuset);
CPU_SET(threadNumberToCpuMap[i], &cpuset);
s = pthread_setaffinity_np(thread, sizeof(cpu_set_t), &cpuset);
mlockall(MCL_FUTURE); // lock virtual memory to stay at physical address where it was allocated
TaskManager manager;
for (int j = 0; j < fNTasksPerThr; j++){
manager.SetData( &(InpData->fInput[j]) …Run Code Online (Sandbox Code Playgroud)