小编Roa*_*alt的帖子

如何摆脱代码中的GVim折叠注释?

我的团队中有人发誓通过使用某种GVim功能手动进行代码折叠.

由于我正在使用另一个编辑器并且不需要折叠功能,我认为它只会使用以下标签污染源代码:

/* {{{1 */
Run Code Online (Sandbox Code Playgroud)

说服该人不使用这种折叠不是一种选择(之前进行了一些激烈的讨论).

我不是一个真正的GVim家伙,我想知道在没有改变团队代码的情况下是否没有其他方法可以进行折叠?

  • 也许将折叠方向放在一个单独的文件中,或者
  • 做一些智能折叠,在不改变源代码的情况下考虑编程语言的语法?

c vi vim

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

如何使用可选值在XSLT中模拟C枚举

我正在尝试进行生成C代码的XSLT转换,应转换以下XML:

<enum name="anenum">
  <enumValue name="a"/>
  <enumValue name="b"/>
  <enumValue name="c" data="10"/>
  <enumValue name="d" />
  <enumValue name="e" />
</enum>
Run Code Online (Sandbox Code Playgroud)

它应转换为以下C代码:

enum anenum {
   a = 0,
   b = 1,
   c = 10,
   d = 11,
   e = 12
}
Run Code Online (Sandbox Code Playgroud)

或替代(因为C预处理器将处理求和):

   enum anenum {
       a = 0,
       b = 1,
       c = 10,
       d = c+1,
       e = c+2
    }
Run Code Online (Sandbox Code Playgroud)

我的XSLT的核心看起来像:

<xsl:for-each select="enumValue">
  <xsl:value-of select="name"/>
  <xsl:text> = </xsl:text>
  <xsl:choose>
    <xsl:when test="string-length(@data)&gt;0">
      <xsl:value-of select="@data"/>
    </xsl:when>
    <xsl:otherwise>
      <xsl:value-of select="position()-1"/>
    </xsl:otherwise>
  </xsl:choose>
  <xsl:text>,
Run Code Online (Sandbox Code Playgroud)

(为简单起见,我跳过了一些“最后一个元素不加逗号”的代码)

本示例将不会为d …

c xslt

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

模拟器控制禁用真正的Android设备

我正在尝试测试支持GPS的应用程序,并希望在真实设备(而不是模拟器)上进行测试.我想通过向它发送假的GPS坐标来欺骗应用程序.

我已经读过您可以使用DDMS执行此操作,但这不起作用,因为发送GPS信号的"模拟器控制"显示为灰色(禁用).我试过了:

  • 选择合适的设备.
  • 从命令行在eclipse和outside中运行DDMS
  • 我在我的Android设备上启用了设置,因此它允许USB调试和GPS欺骗.

eclipse gps android ddms

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

是否可以使用Java webstart执行.exe或dll?

我知道java webstart正在一个安全的沙箱下运行.是否可以在jar中包含.dll/.exe(或让webstart将其下载到本地计算机)然后执行它(使用Runtime.exec或进程等)

请指教.欢迎任何建议/评论!

java windows dll java-web-start

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

检查C代码是否已弃用POSIX调用的最佳方法是什么?

我一直在研究一些旧的C代码.我发现有很多POSIX调用现已过时,并在手册页中标记为已弃用.

检查代码中是否仍有弃用的POSIX调用的最佳方法是什么?我想的是:

  • 特殊的gcc警告选项.
  • 检测这些调用的某种lint工具.

c unix linux gcc

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

我们可以对CUDA或OpenCL与CPU性能的比较进行基准测试吗?

与普通单处理器内核相比,CUDA或OpenCL代码上的算法运行速度有多快?(考虑到算法是针对CPU和GPU目标编写和优化的).

我知道这取决于显卡和CPU,但是说,NVIDIA最快的GPU之一和英特尔i7处理器的(单核)?

我知道这也取决于算法的类型.

我不需要严格的答案,但经验丰富的例子如下:对于使用双精度浮点的图像处理算法和每个像素10次操作需要前5分钟,现在使用此硬件在x秒内运行.

c cuda cpu-speed opencl gpu-programming

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

在runnable jar中找不到getTimeStamp(),但是在其他情况下找不到

我在部署在eclipse中运行良好的应用程序时遇到了麻烦,但在创建可运行的jar时会产生以下错误(使用选项:将所需的库提取到生成的JAR中):

org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NoSuchMethodError: org.apache.log4j.spi.LoggingEvent.getTimeStamp()J)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Unknown Source)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Unknown Source)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
        at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
Run Code Online (Sandbox Code Playgroud)

我正在使用log4j-1.2.16.jar,它包含在生成的jar中.

我不确定在哪里进行故障排除,我试图在其他包含的jar中找到org.apache.log4j.spi.LoggingEvent的其他(较旧的)实例,但到目前为止我没有找到任何.

java jar exception

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

如何在C中获取我的非环回网络IP地址?

对于两台主机之间的通信,我需要将主机的IP地址发送到另一个站点.问题是,如果我请求我的IP地址,可能是我恢复了我的本地环回IP地址(127.xxx),而不是网络(以太网)IP地址.

我使用以下代码:

char myhostname[32];


gethostname(myhostname, 32);
hp = gethostbyname(myhostname);
unsigned my_ip = *(unsigned*)(hp->h_addr);

if( (my_ip % 256) == 127) {
  /* Wrong IP adress as it's 127.x.x.x */
  printf("Error, local IP address!");
  return;
}
Run Code Online (Sandbox Code Playgroud)

解决它的唯一方法是确保/ etc/hosts中的主机名在真实网络地址后面,而不是本地环回(例如Ubuntu的默认值).

有没有办法解决这个问题而不依赖于/ etc/hosts的内容?

编辑:我改变了上面的代码,所以它使用getaddrinfo,但我仍然得到回送设备的号码(127.0,0,1)而不是真正的IP地址:

struct addrinfo hint = {0};
struct addrinfo *aip = NULL;
unsigned ip = 0;
struct sockaddr_in *sinp = NULL;

hint.ai_family = AF_INET; /* IPv4 */
hint.ai_socktype = SOCK_STREAM;

if(getaddrinfo(hostname, NULL, &hint, &aip) != 0) {
    return 0;
}
sinp = …
Run Code Online (Sandbox Code Playgroud)

c networking network-programming communication

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

对于难以解决的错误,您的最佳做法是什么?

我有时会发现自己试图修复一个顽固的虫子,只是在一段时间后才发现一些非常明显的错误.

当我认为这个问题与某些事情有关时,我会发生这种情况,并且我会对其他可能出错的事情"盲目".

大部分时间都有助于睡眠,第二天早上我立即看到了问题.

过去发生在我身上的事情:

  1. 编辑没有任何效果的真实源文件的副本.
  2. 没有关注真正的问题,而是在真正的问题已经解决的同时试图解决问题.
  3. 没有进行编译/构建,因为我之前使用的是解释语言.

在调试过程中你有什么'盲目'的体验?

language-agnostic debugging

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

RaphaelJS中对象的渐变透明度

我试图得到一个部分透明的矩形,其中左边部分是不透明的,而右边的部分则更加透明,如果你进入那个方向.

这适用于Firefox,Chrome,但不适用于Internet Explorer 7或IE8.在IE中,所有矩形都以相同的透明渐变显示.

function drawTest(y, pct) {
    var recttest = paper.rect(25,y,100,30);
    var gradstr = "0.0-#db38cc:5-#db38cc:"+pct;
    recttest.attr({"fill": gradstr,"opacity": "0.01"});
}
$(document).ready(function() {
        paper = Raphael(10,100, 400, 400);
        drawTest(0, 30);
        drawTest(50, 40);
        drawTest(100, 50);
        drawTest(150, 60);
        drawTest(200, 70);
        drawTest(250, 80);
});
Run Code Online (Sandbox Code Playgroud)

请参阅此处以获取上述代码运行的示例.

那我怎么能为IE解决这个问题呢?请注意,我想将矩形放在图像的顶部,因此它必须是透明的(不是白色).

javascript svg vml raphael

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

在Tcl中处理引用字符串中的逗号

我在Tcl中使用以下行来解析以逗号分隔的字段行.可以引用某些字段,以便它们可以包含逗号:

set line {12,"34","56"}
set fresult [regsub -all {(\")([^\"]+)(\",)|([^,\"]+),} $line {{\2\4} } fields]
puts $fields
{12} {34} "56"
Run Code Online (Sandbox Code Playgroud)

(引用最后一个字段而不是括号,这有点奇怪,但这不是问题)

但是,当引号中有逗号时,它不起作用:

set line {12,"34","56,78"}
set fresult [regsub -all {(\")([^\"]+)(\",)|([^,\"]+),} $line {{\2\4} } fields]
puts $fields
{12} {34} "{56} 78"
Run Code Online (Sandbox Code Playgroud)

我希望:{12} {34} {56,78}

我的正则表达式有什么问题或者有什么东西正在进行吗?

regex csv tcl

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