小编Dar*_*zer的帖子

JNA示例程序java.lang.NoClassDefFoundError

我可以编译这个JNA示例代码(来自https://github.com/twall/jna/#getting_started的第2步):

package com.sun.jna.examples;

import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;

/** Simple example of JNA interface mapping and usage. */
public class HelloWorld {

    // This is the standard, stable way of mapping, which supports extensive
    // customization and mapping of Java to native types.
    public interface CLibrary extends Library {
        CLibrary INSTANCE = (CLibrary)
            Native.loadLibrary((Platform.isWindows() ? "msvcrt" : "c"),
                               CLibrary.class);

        void printf(String format, Object... args);
    }

    public static void main(String[] args) {
        CLibrary.INSTANCE.printf("Hello, World\n");
        for (int i=0;i < …
Run Code Online (Sandbox Code Playgroud)

java noclassdeffounderror jna

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

防止在Python中意外误导对象属性?

一个朋友在开始学习Python时被"烧掉",现在认为这种语言可能存在致命缺陷.

他正在使用库并更改了对象属性的值(库中的类),但他使用了错误的属性名称缩写.他花了很长时间才弄清楚出了什么问题.因此,他对Python的反对意味着它允许人们不小心向对象添加属性.

单元测试不能为此提供解决方案.一个人不会针对正在使用的API编写单元测试.可能有一个类的模拟,但模拟可能有相同的错误或关于属性名称的错误假设.

可以使用它__setattr__()来防止这种情况,但(据我所知),没有人这样做.

我能告诉我的朋友的唯一一件事就是,经过几年的全程编写Python代码,我不记得曾经被这个烧过.我还能告诉他什么?

python attributes

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

TextMate:如何找到与键盘快捷键关联的命令?

我很确定我记得在TextMate中有一个命令告诉我哪个包和/或菜单项与特定的键盘快捷键相关联?我在哪里找到它?

textmate keyboard-shortcuts

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

如何使用YourKit Java Profiler连接到Java命令行工具?

我在Java中构建了一个命令行工具,我现在想用YourKit进行分析.我启动命令行工具,例如:

$ java -classpath .:foo.bar.jar com.foobar.tools.TheTool arg1 arg2 arg3
Run Code Online (Sandbox Code Playgroud)

它在不到2秒的时间内完成.

在阅读http://www.yourkit.com/docs/80/help/agent.jsp后,我尝试了以下内容:

$ java -agentpath:/home/dspitzer/yjp-8.0.24/bin/linux-x86-32/libyjpagent.so -classpath .:foo.bar.jar com.foobar.tools.TheTool arg1 arg2 arg3
Run Code Online (Sandbox Code Playgroud)

......我得到:

[YourKit Java Profiler 8.0.24] JVMTI version 3001016d; 14.3-b01; Sun Microsystems Inc.; mixed mode, sharing; Linux; 32-bit JVM
[YourKit Java Profiler 8.0.24] Profiler agent is listening on port 10001...
[YourKit Java Profiler 8.0.24] *** HINT ***: To get profiling results, connect to the application from the profiler UI
...
Run Code Online (Sandbox Code Playgroud)

(然后工具运行完成并退出.)

我猜(默认情况下,至少)YourKit旨在只连接到正在运行的应用程序.

我应该如何修改命令行工具以允许从YourKit连接?

  1. 我可以添加一个命令行选项,让它暂停输入,我不会按返回它继续,直到我从YourKit连接到它.
  2. 是否有一个YourKit API,我可以添加到我的工具,这将导致它阻止,直到我与YourKit连接?
  3. 是否有一个YourKit API或一个java命令行选项,可以创建一个分析"快照",我可以使用YourKit稍后加载和分析(在命令行工具完成后)?

java connection profiling yourkit

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

如何在Eclipse Java调试器中将字节数组显示为char数组?

我想在Eclipse(Helios Release,build id:20100617-1415)Java调试器中查看字节数组作为char数组?那可能吗?怎么样?

例如,我想显示这个:

替代文字

... as:'\ 0','0','G','\ 22'等.

java eclipse debugging types

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

如何将PhpStorm工具窗口移到右侧?

同事已将PhpStorm配置为在左侧具有项目工具窗口,在右侧(在编辑器右侧)具有结构工具窗口.但他不记得他是如何配置它的,我无法弄清楚如何.我在PhpStorm文档中找到了对"右侧"的引用(参见 "左右两侧的并排布局"),但是我找不到任何将工具窗口移动到右侧的说明.

更新:我在Mac OS X上使用PhpStorm 7.1.

关于LazyOne的评论:工具窗口不可拖动.我尝试过不同的模式(如固定模式和停靠模式),但在我试过的模式组合中它仍然是不可分割的.

phpstorm

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

iPhone SDK是否包含用于Mac OS X开发的Xcode?

iPhone SDK是否包含用于Mac OS X开发的Xcode?或者我是否需要单独安装Xcode for Mac?

如果是后者,安装顺序是否重要?

installation xcode

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

如何将嵌套的元组和列表元组转换为Python中的列表列表?

我有一个包含列表和更多元组的元组.我需要将它转换为具有相同结构的嵌套列表.例如,我想转换(1,2,[3,(4,5)])[1,2,[3,[4,5]]].

我该怎么做(在Python中)?

python tuples list

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

如何链接来自同时具有"主"的.cpp源文件的函数?

我想使用.cpp源文件中的一些函数,该文件在我的.cpp源文件中有一个main函数.(我正在用make和gcc构建.)

这是我的Makefile中的规则:

$(CXX) $(CXXFLAGS) $(INCLUDES) $(SRCS) $(LIBS) -o $@
Run Code Online (Sandbox Code Playgroud)

这是输出(改变一些名称以防止分心):

$ make foo
g++ -g -Wall -m32 -Ilinux/include foo.cpp bar.cpp -o foo
/tmp/ccJvCgT3.o: In function `main':
/home/dspitzer/stuff/bar.cpp:758: multiple definition of `main'
/tmp/ccUBab2r.o:/home/dspitzer/stuff/foo.cpp:68: first defined here
collect2: ld returned 1 exit status
make: *** [foo] Error 1
Run Code Online (Sandbox Code Playgroud)

我如何向gcc表明我想使用foo.cpp中的main?

更新:我应该补充一点,"bar.cpp"是"别人的"代码,并且有自己的主要原因.(听起来我应该与其他人合作让他将共享功能拆分成一个单独的文件.)

c++ linker gcc program-entry-point multiple-definition-error

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

如何构建LTTng并将其部署到嵌入式Linux系统?

http://lttng.org/download上提供的源代码压缩包中的README文件似乎假设一个构建在同一个Linux系统上,该系统将成为跟踪的目标.我找到了解释如何执行此操作的其他资源(LTTng Project YouTube频道有非常好的截屏视频),但我找不到任何关于如何交叉编译LTTng的说明(具体来说,我猜,liburcu,LTTng-UST ,LTTng-tools和LTTng-modules),并将它们全部安装在嵌入式Linux系统上(我可以在其中构建或重建内核,使用设备树blob,现在是基于ramdisk的文件系统).

我在哪里可以找到有关如何操作的详细信息?

更新:正如Marko在下面的第一条评论中指出的那样,LTTng工具是使用构建的autoconf.理论上我理解我可以找到一个"--host"选项configure,类似于这个答案.也许我需要一个像"ARCH = arm" make这样的参数,就像我在构建内核时使用的那样.但是make install,在使用它们的同一台机器上构建LTTng组件时,使用的交叉编译等效是什么?

trace cross-compiling embedded-linux lttng

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