问题列表 - 第38404页

如何使用git,boost,管理实用程序模块和代码片段,

编程时,我会累积代码片段和实用程序类.我想存储那些以供将来使用.

简单的问题是什么是最好的方法.更详细的例子:

在编写代码时,我们不断重用我们的好花絮来涵盖常见任务.然而,为了使我们的项目开源,比如使用github上的git,这个花絮也需要可用.我想知道如何最好地做到这一点.

  • 我是否可以将我的个人实用程序repo项目添加为git中的子模块?
  • 或者我为每个花絮做单独的git回购,因此项目可以添加特定版本的特定花絮作为子模块.(这解决了像boost这样的实用程序库的问题,即使你的程序可能只需要一小部分,它也会变得很大)
  • 或者我将两者结合到具有子模块的实用程序存储库中,其中外部项目可以将实用程序存储库作为子模块?如果他们想要使用tidbit的版本x和tidbit b的版本y,会发生什么?可能只是为了集中概述?

像所有公共代码一样,这样的代码片段应该轻巧,快速,经过测试,可移植,有文档记录,并且最好是相对自包含的.现在我在某个地方找到了这个漂亮的代码并且它使用了CTASSERT,这是不可移植的.

我该怎么办?

  • 我可以使用boost static_assert,但这会为一个小代码片段添加一个主要的依赖项,因为boost不是微不足道的,在我的系统上它编译为大约2GB.更糟糕的是,它还使用代码片段为每个项目添加了这种依赖项,它提供了一些非常基本的功能.此外,据我所知,提升没有git repo,因此项目无法自动处理子模块的这种依赖关系.
  • 我是否制作了另一个片段并将自己的编译时间断言与重新发明轮子的愚蠢副作用并创建更多代码来完成已经提升的事情.

我期待着听到你如何解决这个问题,以及一般的想法和指导方针.

git boost open-source github code-snippets

7
推荐指数
1
解决办法
1199
查看次数

为什么std :: copy(从istream到ostream)会引发ios :: failure异常?

以下代码应将数据从wifstream复制到wcout.复制内容后,程序将抛出ios :: failure异常.

#include <string>
#include <iostream>
#include <sstream>
#include <fstream>
#include <locale>
#include <iterator>
#include <algorithm>


int main(void)
{
    std::locale::global(std::locale(""));

    std::wifstream is;
    is.exceptions( std::ios::failbit | std::ios::badbit );
    is.open("test.ts", std::ios::binary);

    is >> std::noskipws;

    std::istream_iterator<wchar_t, wchar_t> in(is);
    std::istream_iterator<wchar_t, wchar_t> end;

    std::copy(in, end,
              std::ostream_iterator<wchar_t, wchar_t>(std::wcout));

    return 0;
} 
Run Code Online (Sandbox Code Playgroud)

如果出现任何问题,流应该只抛出一个异常(参见异常掩码),但不会抛出异常.

c++ stl stream

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

基于距离(x,y)设置适当"音频"音量的算法

我正在开发一款游戏.如何根据当前渲染场景中精灵的"距离""淡入"声音的音量?假设我有一个世界:

WIDTH_WORLD = 10000
HEIGHT_WORLD = 10000

Current Scene  
xCurrent = 800   ( + Width Res. = 800 + 1024 = 1824)  
yCurrent = 400   ( + Height Res. = 400 + 768 =... )

Far Sprite
xSprite = 7000 
ySprite = 3000 
Run Code Online (Sandbox Code Playgroud)

什么是"计算"音量(和左/右平移通道比率)的好算法?提前致谢!

algorithm

5
推荐指数
1
解决办法
914
查看次数

Ruby:如何将多个方法调用与"send"链接在一起

必须有一种内置的方式来做到这一点,对吧?

class Object
  def send_chain(arr)
    o=self
    arr.each{|a| o=o.send(a) }
    return o
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby metaprogramming

30
推荐指数
3
解决办法
1万
查看次数

为什么Maven(错误地?)将我的SNAPSHOT部署到发布和快照存储库?

我正在尝试设置项目以部署到内部nexus存储库时遇到问题.由于我对Maven一般都是新手,所以我希望在构建分发管理方面我真的不会理解.

基本问题是,当我执行"mvn deploy"时,工件已成功部署到快照存储库,但Maven也在尝试将其部署到发布存储库,而这正在失败......应该如此.我对当前配置的理解是它不应该将它部署到发布存储库中.

我已经包含了下面的各种配置元素,但我想知道我是否应该使用配置文件管理该部分,以便快照构建仅定义,并且发布版本仅定义.

对此的任何帮助/澄清将非常感激.

我的POM中有以下内容用于分发管理:

<distributionManagement>
<repository>
  <id>internal-releases</id>
  <name>Internal Releases</name>
  <url>http://localhost:8081/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
  <id>internal-snapshots</id>
  <name>Internal Snapshots</name>
  <url>http://localhost:8081/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
Run Code Online (Sandbox Code Playgroud)

在POM的其他地方,我有以下设置允许使用这些存储库来获取工件:

<repositories>
<repository>
  <id>internal-releases</id>
  <url>http://localhost:8081/nexus/content/repositories/releases</url>
  <snapshots><enabled>false</enabled></snapshots>
</repository>
<repository>
  <id>internal-snapshots</id>
  <url>http://localhost:8081/nexus/content/repositories/snapshots</url>
  <snapshots><enabled>true</enabled></snapshots>
</repository>
<!-- other repos, etc, etc -->
</repositories>
Run Code Online (Sandbox Code Playgroud)

我在settings.xml中有正确的设置,以提供能够发布到我的计算机上运行的此测试nexus实例的凭据,并且它实际上已成功部署快照.

问题是它还尝试将快照部署到发布存储库,该存储库配置为禁止快照.

"mvn deploy"的输出包括以下内容:

[INFO] [deploy:deploy {execution: default-deploy}]
[INFO] Retrieving previous build number from internal-snapshots
Uploading: http://localhost:8081/nexus/content/repositories/snapshots/com/internal/service/1.0.0-SNAPSHOT/service-1.0.0-20101104.170338-8.war
405K uploaded  (service-1.0.0-20101104.170338-8.war)
[INFO] Retrieving previous metadata from internal-snapshots
[INFO] Uploading repository metadata for: 'snapshot com.internal:service:1.0.0-SNAPSHOT'
[INFO] Retrieving previous metadata from internal-snapshots
[INFO] Uploading …
Run Code Online (Sandbox Code Playgroud)

maven maven-deploy-plugin

6
推荐指数
2
解决办法
2万
查看次数

如何找出哪个线程锁定了互斥锁?

我使用.Net Mutex类来跨线程锁定我的应用程序的部分内容.我遇到了一些死锁问题,如果我能找到当前有锁的线程的名称,那将非常有用.

有一个简单的方法吗?

.net multithreading mutex deadlock

3
推荐指数
1
解决办法
559
查看次数

查找表的最佳mysql表类型(重读,无写)

我有一个ip-to-country查找表.此表每月更新一次,同时非常频繁地阅读.我现在把它作为innodb.这是一个几乎只能从中读取的表的最佳表类型?

提前致谢.

mysql database-design myisam innodb

2
推荐指数
1
解决办法
1832
查看次数

慢慢打印(模拟打字)

我想在python中制作一个文本游戏.一切顺利但是,我想制作一个功能,允许我打印到终端的东西,但在时尚帽子看起来像打字.

目前我有:

def print_slow(str):
    for letter in str:
        print letter,
        time.sleep(.1)

print_slow("junk")
Run Code Online (Sandbox Code Playgroud)

输出是:

j u n k
Run Code Online (Sandbox Code Playgroud)

有没有办法摆脱字母之间的空格?

python

7
推荐指数
3
解决办法
2万
查看次数

Java中的UNIX域套接字

我看到Java的这些线程UNIX套接字实现?http://forums.sun.com/thread.jspa?threadID=713266.

第二个链接说Java已经支持UNIX Domain Socket.如果那是真的我需要从Java实现什么类?

从第一个链接开始,它表示Java不支持UNIX Domain Socket.如果需要UNIX域套接字,则必须使用第三方库.

那么,这是什么?

java sockets unix-socket

15
推荐指数
4
解决办法
3万
查看次数

C复数和printf

如何打印(带printf)复数?例如,如果我有这个代码:

#include <stdio.h>
#include <complex.h>
int main(void)
{
    double complex dc1 = 3 + 2*I;
    double complex dc2 = 4 + 5*I;
    double complex result;

    result = dc1 + dc2;
    printf(" ??? \n", result);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

..我应该使用什么转换说明符(或其他东西)"???"

c printf complex-numbers

46
推荐指数
2
解决办法
3万
查看次数