问题列表 - 第19988页

JNI FindClass java.lang.ClassNotFoundException

我目前正在编写一些JNI代码来调用我的JAVA程序中的类。我已经使用类中的静态方法成功完成了此操作。

目前,当我使用时:

jclass proc_jclass = env->FindClass("example/io/struct/JavaClass");
Run Code Online (Sandbox Code Playgroud)

它使JVM崩溃:

java.lang.ClassNotFoundException.<init>(Ljava/lang/String;)V+3
Run Code Online (Sandbox Code Playgroud)

我已经尝试定义类路径位置,但无济于事。任何帮助将不胜感激。

谢谢。

java-native-interface

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

PHP中的命令行进度条

我目前正在尝试向命令行脚本添加进度条,我尝试了各种解决方案(包括Zend和Console_ProgressBar).它们两者有共同的问题是进度条不会粘在窗口的底部,因为在脚本中,输出新行和其他信息.

有没有办法让进度条保持在终端的底部,但仍然能够在脚本运行时输出其他信息?

[编辑]

我想到了:

而不是直接输出到STDOUT我实际上是抓取变量内的输出,我擦除屏幕echo chr(27) . '[2J'然后输出到STDOUT变量的内容然后追加我的进度条.

希望有道理:)

php

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

我如何处理mysql表中的并发插入并获取正确的插入ID

我正在使用adodb for PHP库.

为了获取插入记录的id,我使用此函数

"$db->Insert_ID()"

我想知道是否有多个同时插入数据库表,这个方法会为每个插入的记录返回正确的插入ID吗?

我问这个的原因是因为我使用这个最后一个插入id来进一步处理其他记录并在相关表中进行后续输入.

这种方法是否足够安全,或者我错过了什么.

请帮我为此制定一个正确的工作计划,以便我可以使用最后一个插入ID进一步插入到另一个表中,而不必弄乱现有数据.

谢谢

php insert-id adodb lastinsertid

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

如何从javac插件中获取MemberSelectTree中表达式的类型?

我试图用JSR 269格式编写一个注释处理器,它使用javac的Compiler Tree API来做一些源代码分析.我对成员选择表达式感兴趣,例如方法调用.

我可以很容易地获得所选方法(或字段等)的名称.但我想知道该成员的选择类型,我似乎无法找到一种直接的方法来做到这一点.Trees.getTypeMirror返回null我尝试调用的所有内容(而Javadoc没有提示).

我想我可以详尽地分析每一种表达对成员的左侧选择,并通过回归分析确定的静态类型的表达式:NewClassTree,TypeCastTree,MethodInvocationTree,ArrayAccessTree,和其他许多人.但这似乎是很容易出错的工作,显然javac已经知道表达式的静态类型,因为它需要这些信息用于许多目的.但是如何访问此类型信息?

到目前为止我所拥有的:

import com.sun.source.tree.MemberSelectTree;
import com.sun.source.tree.MethodInvocationTree;
import com.sun.source.util.TreePath;
import com.sun.source.util.TreePathScanner;
import com.sun.source.util.Trees;
import java.util.Set;
import javax.annotation.processing.AbstractProcessor;
import javax.annotation.processing.RoundEnvironment;
import javax.annotation.processing.SupportedAnnotationTypes;
import javax.annotation.processing.SupportedSourceVersion;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.Element;
import javax.lang.model.element.TypeElement;
@SupportedAnnotationTypes("*")
@SupportedSourceVersion(SourceVersion.RELEASE_6)
public class PublicProcessor extends AbstractProcessor {
    public @Override boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
        for (Element e : roundEnv.getRootElements()) {
            final Trees trees = Trees.instance(processingEnv);
            final TreePath root = trees.getPath(e);
            new …
Run Code Online (Sandbox Code Playgroud)

java javac annotation-processing

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

将Python字节码重新组合为原始代码?

这可能是一个愚蠢的问题,但是,考虑到输出,比如..

>>> from dis import dis
>>> def myfunc(x):
...     print x ** 2
... 
>>> dis(myfunc)
  2           0 LOAD_FAST                0 (x)
              3 LOAD_CONST               1 (2)
              6 BINARY_POWER        
              7 PRINT_ITEM          
              8 PRINT_NEWLINE       
              9 LOAD_CONST               0 (None)
             12 RETURN_VALUE        
Run Code Online (Sandbox Code Playgroud)

..或.pyc文件 - 是否可以将其重新组合成一个有效的Python源代码?即在哪里reassemble(dis(myfunc)) == "def reassembled_function(x):\n print x ** 2"

不是出于任何特殊的实际原因,我只是好奇这是否可能,或者是否已经尝试过......

有关

python bytecode bytecode-manipulation

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

C中的指针,字符串问题

我在第一次学习C++之后第一次使用C作为一个类项目,所以语法就是杀了我......基本上,我需要将函数给出的字符串存储到一个单独的变量中供以后使用.

我有一个像这样声明的字符数组

char foo[];
Run Code Online (Sandbox Code Playgroud)

我给出的一个函数将一堆字符分配给这个数组(或指向字符的指针?).我可以像这样打印出存储在foo中的实际字符串

printf("%s", foo);
Run Code Online (Sandbox Code Playgroud)

我可以将其地址存储在这样的不同变量中

char *bar;

bar = &foo[0];

printf("%s", foo);
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,完整的字符串输出都很好.但是,如何将此字符串存储在另一个变量中?如果foo改变了,那么bar将不再保存我需要的字符串,因为它只是指向foo.我想到的任何东西都会给我编译错误

warning: initialization makes pointer from integer without a cast
Run Code Online (Sandbox Code Playgroud)

希望这是足够的信息.我在这里先向您的帮助表示感谢.

c string pointers char

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

如何在可编写脚本的应用程序中将任意AppleScript记录传递给Cocoa?

我有一个Cocoa应用程序,其中包含.sdef XML文件中描述的AppleScript字典.sdef中定义的所有AppleScript类,命令等都是工作属性.

除了我的"提交表单"命令."提交表单"命令是我唯一的命令,它尝试将一个参数传递给AppleScript,该参数是从AppleScript到Cocoa的任意哈希表.我认为这应该通过传递AppleScript来完成,AppleScript record将自动转换为NSDictionaryCocoa端.

tell application "Fluidium"
    tell selected tab of browser window 1
        submit form with name "foo" with values {bar:"baz"}
    end tell
end tell
Run Code Online (Sandbox Code Playgroud)

"with values"参数是record- > NSDictionary参数我遇到了麻烦.请注意,记录/字典的键不能事先知道/定义.他们是任意的.

以下是我的sdef XML中此命令的定义:

<command name="submit form" code="FuSSSbmt" description="...">
    <direct-parameter type="specifier" optional="yes" description="..."/>
    <parameter type="text" name="with name" code="Name" optional="yes" description="...">
        <cocoa key="name"/>
    </parameter>
    <parameter type="record" name="with values" code="Vals" optional="yes" description="...">
        <cocoa key="values"/>
    </parameter>
</command>
Run Code Online (Sandbox Code Playgroud)

我有一个"tab"对象,它响应sdef中的这个命令:

<class name="tab" code="fTab" description="A browser tab.">
    ...
    <responds-to command="submit form">
        <cocoa …
Run Code Online (Sandbox Code Playgroud)

macos cocoa applescript cocoa-scripting

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

RabbitMQ高速瞬态消息传递性能

我们正在构建的系统是通过外部Feed接收数据.我们的工作是将这些数据分发到多个服务,运行计算并将结果转发到其他地方 - 典型的发布者 - 订阅者情况.我们需要的是一个非常低延迟的消息传递.我们不需要像MSMQ那样保留消息.

RabbitMq是否足够快速实现软实时消息传递?有没有基准?使用它而不是TIBCO Rendezvous是一个好主意吗?还有其他开源软实时消息替代方案吗?

谢谢.

tibco msmq rabbitmq

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

为什么有些类会限制直接实例化?

我遇到过各种不允许直接创建实例的类.相反,我们必须从其他类的静态方法创建它们的实例,或者它拥有静态方法.例如:

B b = A.getB();
Run Code Online (Sandbox Code Playgroud)

要么

B b = B.getInstance();
Run Code Online (Sandbox Code Playgroud)

这背后是什么原因?

为什么他们不允许直接创建实例,如:

B b = new B();
Run Code Online (Sandbox Code Playgroud)

java instantiation factory-pattern

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

如何使用git进行文件同步?

我需要分布式文件同步.首先,有什么建议吗?我的想法是git,因为速度是一个问题.

我的git知识非常简陋,但这就是我所做的.

我下载了便携式git(我在PC上这么msysgit).我将副本放入c:\ root\git并将副本放入c:\ root\git c:\ client\git \

我创建了一个目录c:\ temp\root\content并在其中创建了一些文件

c:\root\content>..\git\bin\git.exe init
c:\root\content>..\git\bin\git.exe add *
c:\root\content>..\git\bin\git.exe commit -f
c:\client>..\git\bin\git.exe clone file:///c:\root\content
Run Code Online (Sandbox Code Playgroud)

这会创建一个内容目录,但它是空的!提交到root的文件不存在.

当我做拉动命令时,我得到了

C:\temp\client\content\content>c:\temp\client\git\bin\git.exe pull
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Your configuration specifies to merge the ref 'master' from the remote, but no such ref was fetched
Run Code Online (Sandbox Code Playgroud)

显然我错过了一个概念.这是怎么回事?

git synchronization

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