小编rme*_*dor的帖子

输入密钥有时在cygwin下的windows应用程序中无法识别

在工作中,我经常使用Cygwin,因为它在广阔的Windows沙漠中为我提供了一片小绿洲.我不可避免地最终通过bash shell运行一些非Cygwin程序,例如构建脚本(内部创建的批处理文件)和Subversion CLI二进制文件(我安装了Windows文件).99%的时间,使用此设置我没有任何问题.然而,另外1%导致了一个奇怪的问题:

使用构建脚本和SVN,大多数情况下正确解释了输入键.例如,我将启动数据库创建脚本,它将提示我输入服务器名称.我键入"localhost"并按Enter键.一切安好.然后它会结束,如果有错误,并使用打印出来的东西more.没有按下的键被识别出来more.我必须使用Ctrl-C.

同样,如果我进行Subversion更新,通常一切都很好.然而,在发生交互式冲突解决的情况下,我通常会输入"tf"作为"他们已满"并点击输入,但没有任何反应.我必须使用Ctrl-C并使用强制合并重新运行更新,或者在Windows中使用TortoiseSVN来执行此操作.

知道为什么Cygwin似乎随机地没有将输入键传递给程序吗?我认为它可能与Unix与Windows风格的行结尾有关,所以我尝试手动输入这些字符,但这似乎没有什么区别.谢谢.

编辑:我刚刚再次发生这件事,我意识到了一些事情.这是SVN提示我输入密码.我输入了密码,它回显到屏幕(坏)并点击输入......没有.点击进入几次,光标移动,但没有任何反应.我按下Ctrl-C然后它将我转发回bash,然后说"bash:[我的密码]:命令未找到",然后是一些新的提示,等于我按下回车键的次数.所以发生的事情是输入从未进入SVN,但在SVN退出之后以某种方式被bash读取.我认为这可能有助于某人弄清楚发生了什么.

windows cygwin

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

使用HTTP POST时在URL中传递params

在使用POST方法时,是否允许通过URL(问号后)将参数传递到网页?我知道它有效(大多数时候,无论如何),因为我公司的webapp经常这样做,但我不知道它是否真的支持标准,或者我是否可以依赖这种行为.我正在考虑实现一个SOAP请求处理程序,该处理程序在问号后面使用一个参数来表示它是一个SOAP请求,而不是一个普通的HTTP请求.这样做的原因是webapp是一个IIS扩展,因此所有内容都通过相同的URL访问(例如:example.com/myisapi.dll?command),因此为了处理SOAP请求,我需要指定"命令"参数.SOAP会有一个通用命令,

基本上,我正在尝试通过让webapp处理HTTP请求将Apache Axis2/C库集成到我的webapp中,然后将传入的SOAP XML传递给Axis2,以便在它是SOAP请求时进行处理.直觉上,我看不出有什么理由不起作用,因为你发布的URL只是一个任意的URL,就所有各种组件而言......它是赋予特殊含义的服务器问号后面的部分.

感谢您提供的任何帮助/见解.

iis url post soap http

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

如何从我的Android应用程序向我的服务器发送日志信息?

我正在开发一款目前在Play商店中的Android应用.我一直在收到有关我无法重现的某些设备崩溃的报告,Play Store内置的崩溃诊断功能不包含足够的信息.我真正需要的是来自这些设备的Logcat信息,但似乎Android 4.1及更高版本不允许使用因安全问题而过去因此而如此受欢迎的"Log Collector"应用程序.是否有可以添加到我的应用程序中的库,允许它根据需要登录到远程服务器?我对这次崩溃了解得足够多,如果我有这样的功能,我可以在代码中的适当位置调用一些神秘的sendLogcatNow()函数.由于我寻求的信息实际上并不是崩溃的一部分(崩溃发生在以后),正常的崩溃报告工具,如Crashlytics似乎不会做我需要的,但也许他们有这个功能,它只是不突出文件.谢谢!

android crash-reports

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

C++包括文件浏览器

我有一个非常大的项目,其中包含大量复杂的头文件,这些文件都包含在内.它还依赖大量的第三方库.我正在努力理清这个烂摊子,但是我遇到了一些麻烦,因为很多时候我会删除一个#include指令,但却发现它所包含的内容仍然包含在其他文件中.有什么工具可以帮助我理解这个吗?我真的希望能够点击.h文件并询问它(直接或间接)包含哪些CPP文件,以及包含它的路径,同样点击一个cpp文件并询问它.包括h文件(直接和间接).我从来没有听说过这样做的工具,而且一些快速的谷歌搜索没有改变任何东西,但也许我不知道该搜索什么.

c++ include header-files

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

提升local_date_time数学错误?

我正在我的项目中使用Boost的日期时间库.当我发现它有持续时间类型的小时,天,月,年等时,我感到非常高兴,并且它们会根据您添加它们的内容来更改它们的值(即,在月份的一部分中添加1个月的预付款) ,它不只是添加30天或某些).我认为这个属性适用于日期类型,但我决定在我投入生产之前测试它...

local_date_time t1(date(2010, 3, 14), hours(1), easternTime, false); // 1am on DST transition date

{
    CPPUNIT_ASSERT_EQUAL(greg_year(2010), t1.local_time().date().year());
    CPPUNIT_ASSERT_EQUAL(greg_month(3), t1.local_time().date().month());
    CPPUNIT_ASSERT_EQUAL(greg_day(14), t1.local_time().date().day());
    CPPUNIT_ASSERT_EQUAL(1L, t1.local_time().time_of_day().hours());
    CPPUNIT_ASSERT_EQUAL(0L, t1.local_time().time_of_day().minutes());
    CPPUNIT_ASSERT_EQUAL(0L, t1.local_time().time_of_day().seconds());
}

t1 += days(1); // the time in EST should now be 1am on the 15th
{
    CPPUNIT_ASSERT_EQUAL(greg_year(2010), t1.local_time().date().year());
    CPPUNIT_ASSERT_EQUAL(greg_month(3), t1.local_time().date().month());
    CPPUNIT_ASSERT_EQUAL(greg_day(15), t1.local_time().date().day());
    CPPUNIT_ASSERT_EQUAL(1L, t1.local_time().time_of_day().hours()); // fails, returns 2
    CPPUNIT_ASSERT_EQUAL(0L, t1.local_time().time_of_day().minutes());
    CPPUNIT_ASSERT_EQUAL(0L, t1.local_time().time_of_day().seconds());
}
Run Code Online (Sandbox Code Playgroud)

上面你会看到我的CPPUNIT单元测试.它在指示的2行失败,如果days()仅仅增加了24小时而不是1个逻辑日(因为DST转换导致2010-03-14在EST中长达23个小时),这就是我所期望的.

难道我做错了什么?这是一个错误吗?在这种数学方面,我是否完全误解了图书馆的设计目标?

c++ datetime boost date-math

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

你能通过转换运算符的类型捕获异常吗?

我不知道如何在一个简短的主题行中很好地表达这个问题,所以让我尝试一个更长的解释.假设我有这些异常类:

class ExceptionTypeA : public std::runtime_error
{
    // stuff
};

class ExceptionTypeB : public std::runtime_error
{
    // stuff

    operator ExceptionTypeA() const; // conversion operator to ExceptionTypeA
};
Run Code Online (Sandbox Code Playgroud)

我可以这样做,并让它触发catch块吗?

try
{
    throw ExceptionTypeB();
}
catch (ExceptionTypeA& a)
{
    // will this be triggered?
}
Run Code Online (Sandbox Code Playgroud)

我猜它不会,这是不幸的,但我想我会问,因为我无法在网上或SO上找到任何信息.是的,我意识到我可以在我的编译器中运行程序,看看会发生什么,但这不会告诉我标准对这种行为的说法,只是我的编译器实现的(我不相信它).

c++ exception-handling conversion-operator

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

以编程方式修改Excel电子表格的最佳方法

我正在寻找一个允许我以编程方式修改Excel文件以将数据添加到某些单元格的库.我目前的想法是使用命名范围来确定插入新数据的位置(基本上是1x1的范围),然后更新命名范围以指向数据.这个要集成的现有应用程序完全是用C++编写的,所以我理想地寻找一个C++解决方案(因此这个线程的用处有限).如果所有其他方法都失败了,我会使用.NET解决方案,如果有某种方法可以将它与我们的C++应用程序相关联.

一个理想的解决方案是开源,但到目前为止我所看到的(MyXlsXLSSTREAM)似乎都没有达到挑战.我喜欢Aspose.Cells的外观,但它适用于.NET或Java,而不是C++(并且需要花钱).我需要支持从97到现在的所有Excel格式,包括XLSX和XLSB格式.理想情况下,它还支持OpenOffice和(用于输出)PDF和HTML等格式.

我需要支持的一些用例:

  • 读取和修改电子表格中的任何单元格,包括公式
  • 创建,读取,修改命名范围(范围本身,而不仅仅是单元格)
  • 将格式从单元格复制到其他一些单元格(包括条件格式) - 我们将使用一个单元格作为模板,用于我们用数据填充的所有其他单元格.

任何帮助,你可以给我找到一个合适的图书馆会很棒.我还想听听一些关于各种建议的推荐(包括我的帖子中的建议),这样我就可以做出更明智的决定 - 什么方便使用,无错误,便宜等等?

c++ excel

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

如何在初始化静态成员时捕获抛出的异常

我有一个静态成员的类:

class MyClass
{
public:
    static const SomeOtherClass myVariable;
};
Run Code Online (Sandbox Code Playgroud)

我在CPP文件中初始化如下:

const SomeOtherClass MyClass::myVariable(SomeFunction());
Run Code Online (Sandbox Code Playgroud)

问题是,SomeFunction()从注册表中读取值.如果该注册表项不存在,则会引发异常.这导致我的程序爆炸而没有给用户任何有用的输出...有什么方法我可以捕获异常,所以我可以记录它?

c++ static exception-handling

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

WSDL 最佳实践

我正在开发一个与第三方集成的 SOAP 应用程序。我觉得这个第三方的WSDL很奇怪。我对 SOAP 还很陌生,所以如果它没有损坏,我不想要求他们修复它。以下是我注意到的一些我认为错误的事情,尽管我确信它在技术上是有效的文档(因此我在标题中写了“最佳实践”)。另外,我使用 gSOAP 作为我的 SOAP 库,这可能就是为什么我认为其中一些事情很奇怪(我对 gSOAP 的了解甚至比对一般 SOAP 的了解还要新)。

  1. 它们在同一 WSDL 中具有为 SOAP 1.1 和 SOAP 1.2 指定的接口。这导致 gSOAP 生成所需数量的两倍,因为我只使用 1.2。

  2. 他们所有的命名空间都是http://tempuri.org. 不应该是这样的,对吧?

  3. 尽管定义了一堆 RPC 调用,但它们的 WSDL 使用文档格式。我正在考虑要求他们切换到 RPC 格式,因为 gSOAP 似乎不会生成采用 C++ 类型参数作为文档格式的方法。相反,它为每个 API 函数的输入和响应数据创建一个新类。如果我无法解决这个问题,我将不得不编写另一层包裹 gSOAP 的内容,以便为我的应用程序的其余部分提供合理的 API。另外,AFAICT,如果他们切换到 RPC,那么来回的 XML 将与现在完全相同,所以我认为这不会很困难。

  4. 元素的 minOccurs = 0 但当我提交没有它们的请求时,我会收到返回的错误,表明它们是必需的(有时甚至是空指针异常的堆栈跟踪)。如果需要的话,他们应该将它们指定为 minOccurs = 1,对吧?

  5. 几乎所有 Web 服务函数都指定一个响应,其中包含一个表示成功的整数(实际上是一个布尔值)和一个错误消息字符串。他们应该为此使用 SOAP 错误吗?我认为如果这是一个错误,我的应用程序会更容易处理,因为 gSOAP 可以让我很容易地弄清楚这一点(并简单地打印错误消息)。

当然,我并不对这家第 3 方公司仅仅因为我要求他们改变他们的 WSDL 就抱有很高的希望。至少我会学到一些东西……据我所知,这些都没有错,甚至没有问题。感谢您的帮助。

soap wsdl gsoap

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

使用content-disposition提供的文件:内联有时会提示下载

我的专题说明了我所要求的大部分内容.我有一个网站,可以输出各种格式的报告(HTML,CSV,TSV,Excel等).只要有可能,我希望这些文件能够在浏览器中显示.为此,我设置了标题,以便"Content-Disposition"为"inline".这与不同的文件类型非常不一致.似乎在FF3和IE7中,HTML将始终自动打开内联.那讲得通.如果我使用TSV,两个浏览器都会提示下载,因为它是我系统上的未知文件类型.这也很有道理,正是我想要的.但是,Excel和CSV提供不同的行为.在FF中,两者都始终提示下载或打开.如果我选择"打开",它将在新窗口中打开.在IE中,这两个提示下载或打开-我不明白这一个.我认为Excel文件使用Content-Disposition自动内联打开:内联.如果我在IE中选择"打开",它将在浏览器中以内联方式打开.

有人可以解释意外行为吗?对我来说这不是一个真正的问题,但我的用户认为这是一个错误,所以我可以引用他们的权威来源将是非常好的.到目前为止,关于这个"问题"我发现的唯一一件事就是在mozilla论坛上发布一条关于自动开放式内容是IE的安全漏洞之一的帖子......那是一个很老的帖子,所以也许吧在IE7中被"修复"了吗?谢谢.

internet-explorer inline http content-disposition

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