小编Quo*_*nux的帖子

有没有办法折叠Eclipse中的所有代码块?

Eclipse在左侧有"+/-"来展开和折叠代码块.

我已经有成千上万的线要经过,并且真的想要崩溃一切,并选择性地扩展块以查看它们.

eclipse ide

528
推荐指数
8
解决办法
21万
查看次数

将两个GCC编译的.o对象文件合并到第三个.o文件中

如何将两个GCC编译的.o对象文件合并到第三个.o文件中?

$ gcc -c  a.c -o a.o
$ gcc -c  b.c -o b.o
$ ??? a.o b.o -o c.o
$ gcc c.o other.o -o executable
Run Code Online (Sandbox Code Playgroud)

如果您有权访问源文件,-combineGCC标志将在编译之前合并源文件:

$ gcc -c -combine a.c b.c -o c.o
Run Code Online (Sandbox Code Playgroud)

但是,这仅适用于源文件,并且GCC不接受.o文件作为此命令的输入.

通常,链接.o文件无法正常工作,因为您无法使用链接器的输出作为输入.结果是共享库,并且不会静态链接到生成的可执行文件中.

$ gcc -shared a.o b.o -o c.o
$ gcc c.o other.o -o executable
$ ./executable
./executable: error while loading shared libraries: c.o: cannot open shared object file: No such file or directory
$ file c.o
c.o: ELF 32-bit …
Run Code Online (Sandbox Code Playgroud)

compiler-construction linker gcc ld object-files

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

什么是超级编译?

简短而甜蜜:我见过几个谈论"超级编译"的消息来源.但是,我还没有在互联网的任何地方找到一个单独的文件来描述这是什么.大概是因为对于那些甚至不值得解释的人来说似乎很简单.

有人知道这究竟是什么吗?

haskell compilation

69
推荐指数
1
解决办法
8148
查看次数

如何从C#调用C++/CLI?

我有一个用C++实现的类,它负责程序的算术运算,以及一个使用WPF的接口.我使用C#处理输入,但是我如何使用我的C++类?

我已经看到一些关于使托管C++包装类与它交互的注释,但我不知道从哪里开始.我也不知道如何将其与所有其他代码一起编译.我真的找不到这方面的教程,谷歌在托管C++上展示的东西似乎并没有什么帮助.

有什么东西可以帮助我吗?这对我来说似乎并不合理.

编辑尝试m3rLinEz解决方案,但它给我一个BadImageFormatException,我认为这是因为没有生成DLL.我按照所说的做了一切,不知道发生了什么.有任何想法吗?

c# c++ pinvoke managed-c++ c++-cli

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

有没有办法从预准备语句中检索自动增量ID

有没有办法在使用带有预准备语句的java查询时从数据库查询中检索自动生成的密钥.

例如,我知道AutoGeneratedKeys可以如下工作.

stmt = conn.createStatement();

stmt.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);
if(returnLastInsertId) {
    ResultSet rs = stmt.getGeneratedKeys();
    rs.next();
    auto_id = rs.getInt(1);
} 
Run Code Online (Sandbox Code Playgroud)

然而.如果我想使用准备好的Statement进行插入,该怎么办?

String sql = "INSERT INTO table (column1, column2) values(?, ?)";
stmt = conn.prepareStatement(sql);

//this is an error
stmt.executeUpdate(Statement.RETURN_GENERATED_KEYS);
if(returnLastInsertId) {
    //this is an error since the above is an error
    ResultSet rs = stmt.getGeneratedKeys();
    rs.next();
    auto_id = rs.getInt(1);
} 
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点,我不知道.从javadoc看来,PreparedStatements无法返回自动生成的ID.

java mysql prepared-statement auto-increment

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

WCF ExceptionShielding错误ID与传递给Handler的handlingInstanceId不匹配

我的服务装饰如下

<ExceptionShielding("MyExceptionPolicyName")>
Run Code Online (Sandbox Code Playgroud)

当抛出一个错误异常时,我的策略会收到错误并登录就好了.它接受handlingInstance Id并将其与错误一起记录以供参考.我注意到的是,故障中返回的Guid"错误ID:"与传递给处理instanceId的Guid不同.

我也尝试过装饰这样的操作

<FaultContract(GetType(ValidationFault))>
Run Code Online (Sandbox Code Playgroud)

但这会产生相同的结果.

我想要做的是如何捕获"错误ID:"传递回消费者,以便我可以将其与异常一起记录.*附加信息:异常策略处理程序是一个自定义的处理异常,并将其各种属性和数据记录到特定的异常日志数据库模式中.

有谁知道怎么做到这一点?

更新: 根据@Jay Patel的评论,我将此添加到我的配置中以启用跟踪

<system.diagnostics>
    <sources>
      <source name="System.ServiceModel"
              switchValue="Information, ActivityTracing"
              propagateActivity="true">
        <listeners>
          <add name="traceListener"
              type="System.Diagnostics.XmlWriterTraceListener"
              initializeData= "c:\Temp\Traces.svclog" />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>
Run Code Online (Sandbox Code Playgroud)

然后,我执行了一个请求,以获得由异常屏蔽屏蔽的故障响应.故障响应字符串的格式如下:"使用此服务时出错.请联系您的管理员以获取更多信息.错误ID:{GUID}"

然后我查看了跟踪日志,发现没有GUID或此字符串的证据.

以下是使用ExceptionShielding时关心查看示例的任何人的tracelog 的pastebin链接.

UPDATE2:

再次,根据@Jay Patel的评论,补充说明.我为maxMessageLog尝试了-1和max int值,以确保我在该日志中获得最大量的数据.

<diagnostics>
  <messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" maxMessagesToLog="2147483647" />
</diagnostics>
Run Code Online (Sandbox Code Playgroud)

日志没有帮助.它甚至不包括任何关于回答我的问题的内容.

为了澄清以防上面不清楚...我希望能够在消息中的"错误ID:"之后捕获GUID回到客户端,这样我就可以使用异常处理程序记录的异常来记录它.这样,客户端可以联系"管理员",因为消息显示错误ID,并且实际上能够找到某些内容.

这是启用完整跟踪的pastbin

.net wcf enterprise-library exception fault

56
推荐指数
1
解决办法
2242
查看次数

多核和并发 - 语言,库和开发技术

CPU架构格局发生了变化,多核心趋势将改变我们开发软件的方式.我已经完成了C,C++和Java的多线程开发,我使用各种IPC机制完成了多进程开发.对于开发人员来说,使用线程的传统方法似乎并不容易使用支持高度并发性的硬件.

您了解哪些语言,库和开发技术有助于缓解创建并发应用程序的传统挑战?我显然在考虑死锁和竞争条件等问题.设计技术,库,工具等也很有趣,它们有助于实际利用并确保可用资源的利用 - 只需编写一个安全,健壮的线程应用程序并不能确保它使用所有可用的内核.

到目前为止我看到的是:

  • Erlang:基于流程,消息传递IPC,'actor的并发模型
  • Dramatis:Ruby和Python的actor模型库
  • Scala:JVM的函数编程语言,增加了一些并发支持
  • Clojure:具有actor库的JVM的函数编程语言
  • 白蚁:Erlang的流程方法和传递给Scheme的消息的端口

您还知道什么,对您有用的内容以及您认为有趣的内容是什么?

concurrency programming-languages functional-programming multicore

35
推荐指数
4
解决办法
5923
查看次数

在Validate()方法上抛出异常或更好地返回bool值是一个好习惯吗?

是否建议从验证方法中抛出异常,例如:

ValidateDates();
ValidateCargoDetails();
Run Code Online (Sandbox Code Playgroud)

除此之外:是否经常使用强大的验证设计模式?

c# java validation exception

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

在C#中使用泛型创建数学库

有没有可行的方法使用泛型来创建一个不依赖于选择存储数据的基类型的数学库?

换句话说,我们假设我想写一个Fraction类.该分数可以由两个整数或两个双精度或其他表示.重要的是基本的四个算术运算都有明确的定义.所以,我希望能够写Fraction<int> frac = new Fraction<int>(1,2)和/或Fraction<double> frac = new Fraction<double>(0.1, 1.0).

不幸的是,没有代表四种基本操作的接口(+, - ,*,/).有没有人找到一种可行的,可行的方法来实现这一点?

c# generics math interface

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

什么是"对象文件"中的"对象",为什么这样称呼?

我被问到一个问题:"什么是'目标文件'?".

看完Wiki后,我只知道它包含了对象.

但那些对象是什么以及为什么有人这样称呼他们呢?

c c++ linker compilation object-files

18
推荐指数
4
解决办法
8152
查看次数