问题列表 - 第4528页

在Python中 - 如何执行没有输出的系统命令

Python中是否有内置方法来执行系统命令而不显示输出?我只想获取返回值.

重要的是它是跨平台的,因此将输出重定向到/ dev/null将无法在Windows上运行,反之亦然.我知道我可以检查os.platform并自己构建重定向,但我希望有一个内置的解决方案.

python

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

C++相当于instanceof

实现C++等价的首选方法是instanceof什么?

c++ oop

193
推荐指数
3
解决办法
14万
查看次数

学习GObject和Glib的材料

我很舒服C.但需要学习GObjectGlib进行gstreamer.我在网上找到的只是Gobject参考手册.它很好,但寻找Gobject/Glib的教程,主要关注gstreamer.

所以请分享任何其他资源来学习滑稽和gobject.

c gnome gobject glib gstreamer

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

1761
推荐指数
23
解决办法
82万
查看次数

.NET框架中是否有针对不同Web方法类型(GET,PUT,POST,DELETE,HEAD)的常量?

我刚刚注意到在创建RESTful WCF服务时,WebInvoke属性上的Method参数区分大小写(需要CAPS).

所以,

[WebInvoke(Method = "Delete")]
Run Code Online (Sandbox Code Playgroud)

不等于

[WebInvoke(Method = "DELETE")]
Run Code Online (Sandbox Code Playgroud)

这个错误造成了ProtocolException:

System.ServiceModel.ProtocolException:远程服务器返回了意外响应:(405)Method Not Allowed.

我想知道在.NET框架中是否有一组常量我应该用来代替上面例子中的"DELETE".我当然可以定义我自己的常量集,但如果感觉像框架中可能存在的东西,我只是错过了它.

.net c# wcf constants

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

为什么我要在Java中的方法参数上使用关键字"final"?

我不明白其中final的关键字是真的方便的时候它是在方法的参数使用.

如果我们排除使用匿名类,可读性和意图声明,那么对我来说似乎几乎一文不值.

强制某些数据保持不变并不像看起来那么强大.

  • 如果参数是基元,那么它将没有任何效果,因为参数作为值传递给方法,并且更改它将在范围之外没有任何影响.

  • 如果我们通过引用传递参数,那么引用本身就是一个局部变量,如果从方法中更改引用,那么从方法范围外部不会产生任何影响.

考虑下面的简单测试示例.尽管该方法改变了给定的参考值,但该测试仍然通过,但它没有效果.

public void testNullify() {
    Collection<Integer> c  = new ArrayList<Integer>();      
    nullify(c);
    assertNotNull(c);       
    final Collection<Integer> c1 = c;
    assertTrue(c1.equals(c));
    change(c);
    assertTrue(c1.equals(c));
}

private void change(Collection<Integer> c) {
    c = new ArrayList<Integer>();
}

public void nullify(Collection<?> t) {
    t = null;
}
Run Code Online (Sandbox Code Playgroud)

java final pass-by-reference pass-by-value

367
推荐指数
8
解决办法
14万
查看次数

如何为GNU Autotools重新配置大型程序

我有一个用C编写的相当大的程序.它跨越了几个文件,并进行了一些重组以尝试补偿平台问题.具体来说,我有不同的操作系统,体系结构和编译器的头文件,它们定义了用于处理事物的宏.例如,该-v标志打印版本信息,包括构建它的编译器的名称,以及它构建的操作系统和体系结构.作为一个重要原因的例子,该程序可以创建一个C代码文件,如果你愿意,可以编译它 - 一个任务,它只是简单地对它构建的任何编译器进行系统调用.

它还支持GNU Readline库(或BSD Editline库 - 同样的东西),如果它在您的系统上找到,以及没有所有良好的Readline功能,如果您没有它的纯ANSI.

最重要的是,我无法取出任何与平台相关的位,因为有些功能在很大程度上取决于您拥有的OS /架构/编译器.我也希望为拥有它的人提供良好的功能.我希望人们能下载和使用标准安装./configure,makemake install接口.

目前我正在使用一个令人遗憾的手工shell脚本,configure从头开始创建Makefile,并根据您的OS /架构/编译器确定要包含哪些头文件.我想要一个更有效的方法,我想使用GNU Autotools的更标准的构建系统.这样我知道我所做的将在其他人的计算机上工作,而无需在他们的计算机上进行测试.

我的问题是,对于那些已经搞砸了所有这些(谢谢!)的人,是:1)我如何从自制的构建系统转换到GNU Autotools?2)有哪些好的教程可以开始使用GNU Autotools?3)我怎样才能使这个过程相对无痛?

automake autoconf autotools

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

C#网络编程和资源使用

我一直在研究如何最好地用C#编写"正确"的网络代码.

我已经看过使用C#的"using"语句的一些例子,我认为这是一个很好的方法,但是我已经看到它与各种表达式的不一致使用.

例如,假设我有一些这样的代码:

TcpClient tcpClient = new TcpClient("url.com", 80);
NetworkStream tcpStream = tcpClient.GetStream();
StreamReader tcpReader = new StreamReader(tcpStream);
StreamWriter tcpWriter = new StreamWriter(tcpStream);
Run Code Online (Sandbox Code Playgroud)

显然,这段代码非常不稳定.所以,我已经看到一些代码将使用放在tcpClient上,这似乎很好.但是,NetworkStream是否还有需要清理的资源?那么StreamReader/Writer呢?

我是否需要在嵌套的using语句中包装所有4个语句?

如果是这样,当处理时间时会发生什么?StreamWriter不会关闭流并因此关闭套接字吗?然后当StreamReader,然后是NetworkStream,然后TcpClient各自经过他们的处理时会发生什么?

这提出了另一个问题.StreamReader和StreamWriter都由同一个流组成,谁拥有它?难道他们都不认为他们拥有它,因此都会试图摧毁它吗?或者框架是否知道流已经被破坏并且只是默默地忽略它?

看起来似乎只对链中的最后一个语句使用using语句,但是如果在GetStream()中抛出异常会发生什么?我不认为它会正确清理套接字,所以似乎多余的使用是必要的,以确保不会发生这种情况.

有没有人知道有关.net网络编程的最新书籍,最好是包含异常处理和资源管理章节的c#?或者也许网上有好文章?我能找到的所有书籍都来自.NET 1.1时代(Microsoft .NET Framework的网络编程,.NET中的网络编程等),所以这看起来像是一个需要一些好资源的话题.

编辑:

请不要让Marc的评论很好地阻止其他人评论这个:)

我想听听任何人对资源管理的建议或意见,特别是有关异步使用的建议或意见.

.net c# network-programming using-statement

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

有没有另一种方法在python生成器上调用next?

我有一个发电机,我想知道我是否可以使用它而不必担心StopIteration,我想在没有它的情况下使用它for item in generator.我想将它与while语句(或其他构造)一起使用.我怎么能这样做?

python language-features

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

在C++/CLI中,hat字符^有什么作用?

我正在阅读Ivor Horton的Beginning Visual C++ 2008,其许多CLR示例都有main的定义:

int main(array<System::String ^> ^args)
Run Code Online (Sandbox Code Playgroud)

我一页又一页地回到书的开头找到第一个这样的实例,并解释了它的真正含义,但找不到一个.

显然它意味着与标准相同int main(int argc, char *argv[]),但我想知道^实际使用的时间和原因,以及为什么它甚至存在(它是否做了指针*和引用&无法表示的东西)?

clr c++-cli visual-c++

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