小编Chr*_*ver的帖子

cvs,"文件应该删除并且仍然存在(或者再次返回)"

我正在尝试提交一个文件已经"cvs remove"d的项目,但实际上需要在那里.内容已完全重写,但需要保留相同的名称.

我无法提交项目或重新添加文件而不会收到这个恼人的错误消息.如何在CVS中"取消删除"文件?

cvs version-control

9
推荐指数
1
解决办法
3215
查看次数

你如何使用XSLT进行通配符匹配?

如果我有这样的源文件:

<animal name="fred_monkey" />
<animal name="jim_banana" />
<animal name="joe_monkey" />
Run Code Online (Sandbox Code Playgroud)

我可以在样式表中执行XPATH表达式,只选择名称中带有字符串'_monkey'的动物吗?

例如,通配符'*_monkey'?

xml xslt

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

为什么boost :: is_same <int const&,boost :: add_const <int&> :: value等于false?

我正在研究Abrahams&Gurtovoy的"C++ Template Metaprogramming" "这实际上不是第二章,而是我在第一次练习(2.10,2.0)时尝试过的,这让我很困惑:

#include <iostream>
#include <boost/type_traits.hpp>

std::string display(bool b)
{
  return (b ? "true" : "false");
}

int main()
{
   using namespace std;

   cout << display(boost::is_same<int const&, boost::add_const<int &>::type >::value) << "\n";

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

输出为"false".但是,如果我删除引用,即'int const'和'int'.输出为"true".

c++ boost metaprogramming

8
推荐指数
2
解决办法
2123
查看次数

使用cURL创建couchdb独立附件

我目前正在使用couchdb并测试"独立附件"功能,该功能在本页底部附近有所描述.

我试图使用curl的--data-urlencode功能发送创建请求,只有一半工作.我可以创建附件并检索它,但Content-Type字段是错误的,因此图像将无法正确显示.

为了更准确,CouchDB似乎通过使用发布的相同Content-Type返回附件来工作.(这是完全合理的IMO)我的问题是curl没有发送正确的代码.这是细节;

 curl -vX PUT http://localhost:5984/dafttest/666/attachment --data-urlencode image/jpeg@xi_on_beach.jpg
* About to connect() to localhost port 5984 (#0)
*   Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 5984 (#0)
> PUT /dafttest/666/attachment HTTP/1.1
> User-Agent: curl/7.19.4 (x86_64-pc-linux-gnu) libcurl/7.19.4 OpenSSL/0.9.8k zlib/1.2.3
> Host: localhost:5984
> Accept: */*
> Content-Length: 495389
> Content-Type: application/x-www-form-urlencoded
> Expect: 100-continue
>
Run Code Online (Sandbox Code Playgroud)

所以这个问题的简短版本是; 如何让cURL发送正确的内容类型?

编辑:

我发布我的另一个错误是使用--data-urlencode,什么时候才能使它工作我需要使用--data binary @filename和Dale建议的-H选项.

database linux curl couchdb attachment

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

套接字和文件描述符重用(或缺乏)

在下面的服务器代码中调用套接字后,我收到错误“打开文件过多”。此代码被重复调用,并且仅在 server_SD 获取值 1022 之后发生。因此我假设我达到了“ulimit -n”所禁止的 1024 限制。我不明白的是我正在关闭套接字,这应该使 fd 可重用,但这似乎没有发生。

注意:使用linux,是的,客户端也被关闭,不,我不是root用户,所以移动限制不是一个选项,我应该一次最多打开20个(左右)套接字。在我的程序的生命周期中,我期望打开和关闭接近 1000000 个套接字(因此需要非常强大的重用)。

  server_SD = socket (AF_INET, SOCK_STREAM, 0);  
  bind (server_SD, (struct sockaddr *) &server_address, server_len)  
  listen (server_SD,1)  
  client_SD = accept (server_SD, (struct sockaddr *)&client_address, &client_len)  
  // read, write etc...   
  shutdown (server_SD, 2);  
  close (server_SD)
Run Code Online (Sandbox Code Playgroud)

有谁知道如何保证关闭和可重用性?

谢谢。

sockets linux networking file-descriptor reusability

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

计算机语言'Erlang'是否与中国神有关?

Erlang Shen或Erlang是一个中国神,据说可以调节洪水,Erlang是一种适合大批量应用的计算机语言.这只是某种奇怪的巧合吗?

erlang language-history

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

如何让nm显示函数的返回类型?

我正在尝试编写一个脚本来生成一个庞大而混乱的代码库的'假'版本,我想在二进制文件上使用'nm'并过滤文本符号可能是要走的路,但我不能似乎得到nm来显示函数的返回类型以及签名.

提前谢谢了.

c++ linux

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

Boost Build,无法找到文件或目标 x

我有一个 Jamroot 文件,看起来有点像这样;

project foo ;

alias bar ./src/path/to/bar//bar
build-project bar ;
Run Code Online (Sandbox Code Playgroud)

总是给出烦人的错误

error: Unable to find file or target named
error:     '/foo//bar/'
error: referred from project at
error:     '.'
Run Code Online (Sandbox Code Playgroud)

运行与;

bjam --debug-building
building project Jamfile</home/chris/code/foo>  ('object(project-target)@163') with
{.. as above ...}
Run Code Online (Sandbox Code Playgroud)

根本没有帮助。

如果我将目录更改为文件夹并输入 bjam,则项目的该部分将完美构建。

作为解决方法,我有一个脚本可以在所有文件夹中执行此操作,但我很想知道为什么“正确”的方法不起作用。

我正在使用以下版本的 bjam

bjam --version
Boost.Build V2 (Milestone 12)
Boost.Jam 03.1.16
Run Code Online (Sandbox Code Playgroud)

非常感谢

boost-build

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

提升lambda for_each/transform puzzle

有谁知道为什么

  vector<int> test(10);
  int a=0;

  for_each(test.begin(),test.end(),(_1+=var(a),++var(a)));

  for_each(test.begin(),test.end(),(cout << _1 << " "));
  cout << "\n"
Run Code Online (Sandbox Code Playgroud)

给出:"0 1 2 3 4 5 6 7 8 9"

  transform(test.begin(),test.end(),test.begin(), (_1+=var(a),++var(a)));
  ...(as before)
Run Code Online (Sandbox Code Playgroud)

给出:"1 2 3 4 5 6 7 8 9 10"

c++ lambda boost

4
推荐指数
1
解决办法
1674
查看次数

C++中的日期操作

我确信之前必须提出这类问题,但未能通过搜索此网站找到任何问题.如果我错过任何类似的问题,我会提前道歉.

  1. C++中有什么东西可以进行日期操作吗?我知道SYSTEMTIME结构(它是我认为你做GetSystemTime时返回的结构),但它似乎不包含任何操作函数.例如,我正在寻找一些可以"给我2010年7月第二个星期二的日子"的东西.而且,将非系统时钟源的时间拟合到SYSTEMTIME结构中似乎是错误的.

  2. 是否有任何库例程来验证日期?我不是在考虑基本的"检查日是在1到28之间".例如,例程必须能够说29-02-2009不存在.

谢谢.

c++ date

4
推荐指数
1
解决办法
1974
查看次数