问题列表 - 第7736页

我是否需要清理传递给NewStringUTF的char*?

我想是的,但是我发现的前12个例子都做了一些非说明性的事情

JNIEXPORT jstring JCALL Java_com_foo_dumbImpl(JNIEnv* env, jobject thisObj)
{
  return (*env)->NewStringUTF(env, "constant string"); 
}
Run Code Online (Sandbox Code Playgroud)

所以后人我会问:这很糟糕,是吗?

JNIEXPORT jstring JCALL Java_com_foo_dumbImpl(JNIEnv* env, jobject thisObj)
{
  char *leak = malloc(1024);
  leak[0] = '\0';
  return (*env)->NewStringUTF(env, leak); 
}
Run Code Online (Sandbox Code Playgroud)

......应该是:

JNIEXPORT jstring JCALL Java_com_foo_dumbImpl(JNIEnv* env, jobject thisObj)
{
  char *emptystring = NULL;
  jstring r = NULL;
  emptystring = malloc(1024);
  emptystring[0] = '\0';
  r = (*env)->NewStringUTF(env, emptystring); 
  free(emptystring);
  emptystring = NULL;
  return  r;
}
Run Code Online (Sandbox Code Playgroud)

java java-native-interface

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

为什么在C++中显式调用构造函数

我知道我们可以使用范围解析运算符在C++中显式调用类的构造函数,即className::className().我想知道我究竟需要在哪里打电话.

c++ constructor

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

如何在Python中使用正则表达式验证URL?

我正在Google App Engine上构建应用.我对Python非常陌生,并且在过去的3天里一直在反对以下问题.

我有一个代表RSS Feed的类,在这个类中我有一个名为setUrl的方法.此方法的输入是一个URL.

我正在尝试使用re python模块来验证RFC 3986 Reg-ex(http://www.ietf.org/rfc/rfc3986.txt)

下面是一个应该工作的剪辑?

p = re.compile('^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?')
m = p.match(url)
if m:
  self.url = url
  return url
Run Code Online (Sandbox Code Playgroud)

python regex google-app-engine

97
推荐指数
8
解决办法
9万
查看次数

iPhone图像按钮

我想在我的iPhone应用程序中使用图像按钮.如果有任何我可以阅读的文章,请你告诉我.

谢谢.

iphone cocoa-touch uikit

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

如何从XSLT样式表中阻止这些冗余命名空间?

当使用XSLT样式表将包含嵌入式XHTML(使用名称空间)的XML文件转换为纯XHTML时,我在最初的XHTML元素上留下了冗余的名称空间定义.简单的测试案例:

XML:

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xml" href="fbb.xsl"?>
<foo xmlns="urn:foo:bar:baz" xmlns:html="http://www.w3.org/1999/xhtml">
    <bar>
        <baz>Some <html:i>example</html:i> text.</baz>
    </bar>
</foo>
Run Code Online (Sandbox Code Playgroud)

XSL:

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:fbb="urn:foo:bar:baz" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="fbb">
    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="/fbb:foo">
        <html>
            <head>
                <title>Example</title>
            </head>

            <body>
                <p>
                    <xsl:copy-of select="fbb:bar/fbb:baz/node()"/>
                </p>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

输出:

<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Example</title>
  </head>
  <body>
    <p>Some <html:i xmlns="urn:foo:bar:baz" xmlns:html="http://www.w3.org/1999/xhtml">example</html:i> text.</p>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

是否可以防止将冗余名称空间(和前缀)添加到<i>元素中?(仅供参考,我使用的是xsltproclibxml2-2.7.3libxslt-1.1.24在Cygwin.)

xslt namespaces

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

为什么ant编译每个运行的所有类?

我更习惯于制作,所以我很困惑为什么ant在没有更改源时重新编译类.我已经读过在某些使用泛型的情况下需要重新编译,但我不确定这对我的项目是否必要.

另外,在javac任务中,我设置了includeDestClasses ="true"

这是我正在使用的一些目标

<target name="init">
        <mkdir dir="${build}"/>
        <mkdir dir="${dist}"/>
    </target>
    <target name="compile" depends="init,util,semantics" description=""/>
    <target name="util" depends="" description="">
        <javac destdir="${build}" classpath="project.class.path" debug="on" srcdir="${src}/util" includeDestClasses="true" source="1.5">
            <classpath refid="project.class.path"/>
        </javac>
    </target>
Run Code Online (Sandbox Code Playgroud)

java ant

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

Windows XP,HKCU\...\LastVisitedMRU允许的最大项目数?

我有一个场景,我需要将一个脚本放在一起,为当前用户添加以下注册表项的条目:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedMRU\
Run Code Online (Sandbox Code Playgroud)

我试图找出此密​​钥中允许的最大值数,以便我可以将我的脚本添加到另一个上.值名称从字母表的开头开始,但我不想假设它们以"Z"结尾.

背景:我们正在重新打包专有(即不是我们自己的,我们无权访问源)应用程序并尝试设置其默认文件 - >打开位置.经过许多痛苦的快照和文件/ Regmon会话之后,这似乎就是这样做的.我知道它非常hackish但它确实有效,我已经手动测试了这个理论.也就是说,我肯定愿意接受有关如何以更加Win32友好的方式执行此操作的建议 - 假设应用程序没有自己的更好的机制来执行此操作.

registry winapi windows-xp mru comdlg32

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

没有预共享标识符一次验证用户的策略

我正在创建一个脚本,其中包含名称和电子邮件地址列表,并发送一封电子邮件邀请他们注册我们部门的安全网站.名称和电子邮件列表可在同一站点的公共页面上找到.我需要一种方法来为他们提供一个唯一的令牌,当他们按照电子邮件中的链接注册帐户时会识别他们.用户只会使用一次令牌,以创建帐户并设置其初始密码.

什么是生成令牌的最佳方法?存储在数据库中的随机字符串?从用户信息和一些盐生成的哈希?别的什么?我知道这种方法的安全性取决于个人电子邮件邀请的隐私,这是我理解的一点点.

javascript php hash web-applications

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

如何以编程方式选择另一个应用程序中的上下文菜单项?

目标应用程序是用Delphi(win32而不是.NET)编写的,并且是封闭源代码.

我想调用的操作称为复制,但没有明显的键盘快捷键.(Ctrl + Insert做错了,Ctrl + C什么都不做)

我可以找到我的目标HWND并说服它打开上下文菜单(它WM_RBUTTONDOWN/UP不响应WM_CONTEXTMENU).从菜单中HWND我甚至可以获得菜单句柄,MN_GETHMENU并找到我想要的菜单项.我只是不知道如何"选择"该项目的细节.菜单是"无模式"的,即无效.它HWND不是拥有的,所以我不知道许多隐藏的TPUtilWindow窗户中哪一个是真正的拥有者 - 否则我可能只是发送它WM_COMMAND而不是弹出菜单,这将是更好的选择.

虽然我确信它有助于各种各样的黑客攻击,但我宁愿不将代码注入目标进程.

以任何语言接受的答案.

delphi winapi contextmenu messages sendmessage

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

什么是Ruby <=>(太空船)运营商?

什么是Ruby <=>(宇宙飞船)运营商?运营商是否通过其他语言实施?

ruby operators comparison-operators spaceship-operator

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