問題タブ [native-methods]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
429 参照

java - ネイティブ メソッドでパラメータを渡す

重複の可能性:
jni が jstring を char に変換 *

С(traverser.cモジュール)に機能があります

Javaで同名のネイティブメソッドを作成したい

それぞれ traverser.c モジュールには関数があります

Java_ParallelIndexation_Traverser 関数は、traverser.c モジュールの Traverser 関数ラッパーです。問題は、Java_ParallelIndexation_Traverser で Traverser traverser.c からモジュールを呼び出し、パラメータ jstring パスを渡して const char * (signature Traverser上記を参照)?

0 投票する
1 に答える
1970 参照

android - 「物理キーボードを使用」を切り替える方法

次の投稿と同じことを解決しようとしています。

「物理キーボードを使用」を切り替える方法。物理キーボードからソフトウェア キーボードに 切り替える

基本的に、ネイティブ オプションを Android から切り替えて、物理キーボードのオンとオフを切り替えたいと考えています。ただし、このボタンをコードで作成したいと考えています。

これらのリンクには、1 つの適切な答えはありません。誰でも私を助けることができますか?

0 投票する
1 に答える
87 参照

native-methods - C/C を使用せずに .net メソッドを Java に呼び出す

私のJavaコードで(.dllから).netメソッドを呼び出す方法を誰か説明できますか?C / C ++コードを書いたり使用したりしたくありません。

0 投票する
1 に答える
789 参照

java - java.sql.DriverManager.getCallerClassLoader() がネイティブなのはなぜですか?

DriverManager.getCallerClassLoader()クラスのメソッドjava.sql.DriverManager は として宣言されてい nativeます。アプリケーション内のすべてのクラスローダー参照が、現在実行中の JVM で利用できることを理解しています。また、ネイティブ メソッドに関する私の基本的な理解は、ネイティブ ライブラリで定義されたメソッドを呼び出すために使用され、JVM 実行環境の外で実行されるということです。

私の質問は、DriverManager.getCallerClassLoader()その実装をネイティブにする必要があるのは何ですか?

0 投票する
10 に答える
17489 参照

javascript - document.querySelectorAllの短いエイリアスを作成する

document.querySelectorAll()を大量に実行する予定であり、その省略形のエイリアスが必要です。

動作しません。一方:

それでもします。エイリアスを機能させるにはどうすればよいですか?

0 投票する
4 に答える
3603 参照

javascript - querySelectorに対して要素をチェックしますか?(JQueryではなくネイティブメソッドを使用)

私は要素を持っています。特定のクエリ(たとえば、querySelectorと同じ種類のスタイルの('.someclass'))に一致するかどうかを確認したいと思います。

これは思ったほど簡単ではありません。Element.querySelectorAllおよびElement.querySelectorは、問題の要素の子孫でのみ機能します。要素自体ではありません。

注:上の行は、説明のみを目的としています。実生活では、私は実際に他の方法で要素を見つけました。

を返しますnull。querySelectorは子孫でのみ動作するためです。

私はそれをできた:

ただし、これは要素の親の最初の子を返します。これは別の要素である可能性があります。たとえば、「p」が親の2番目の子である場合、このコードは失敗します。

要素自体がクエリに一致するかどうかを確認するにはどうすればよいですか?

0 投票する
2 に答える
11882 参照

node.js - jsdom-document.querySelectorは有効になっていますが、ドキュメントにありません

JSDomを使用して、サーバーごとのDOM操作を実行したいと思います。ただし、querySelectorを明示的に有効にしているにもかかわらず、作成されたドキュメントでは未定義です。

でも:

戻り値

jsdomを使用してdocument.querySelectorを正しく機能させるにはどうすればよいですか?

0 投票する
2 に答える
767 参照

android - Javaからネイティブメソッドを呼び出すときのLibc SIGSEGV

Amazon In-app Purchases SDK の PurchasingObserver の Java 実装を取得して、ネイティブ メソッドを介して C++ コードと通信しようとしています。

PurchasingObserver.java //抜粋

AmazonInAppPurchaseHandler.cpp //抜粋

イベントを生成する何かを行うとすぐに、次のことが起こります。1、イベント ハンドラーが正しく呼び出され、ログが記録されます。2、「投稿イベント...」もログに記録します。これは、postEvent() を呼び出す前の最後のことです。3、プログラムは SIGSEGV を使用して libc でクラッシュします。(私のアプリケーションを参照していますが、逆のドットコム名が切り捨てられていることに注意してください。これが異常かどうかはわかりません。) 4、C++ _NativePurchasingObserverPostEvent のトレースに到達しません。

ログ:

12-05 10:24:47.380: D/com.mycompany.amazoninapp.PurchasingObserver@41970368(4604): onGetUserIdResponse: (com.amazon.inapp.purchasing.GetUserIdResponse@4196cf98, requestId: "dcf8e712-078b-4d47-9533- ee9ae544f53d"、getUserIdRequestStatus: "成功"、userId: "DefaultTestUser")

12-05 10:24:47.380: D/com.mycompany.amazoninapp.PurchasingObserver@41970368(4604): 投稿イベント...

12-05 10:24:47.380: A/libc(4604): 致命的なシグナル 11 (SIGSEGV) 0x00000008 (コード = 1)、スレッド 4604 (y.amazoninapp)

12-05 10:24:47.390: I/AmazonSDKTester(3529): 購入更新応答ブロードキャストの送信 ({"revokedSkus":[],"offset":"1354703087397","status":"SUCCESSFUL","re​​questId": "b9aee42e-4f50-42c4-8a12-ba9eb1d19155","isMore":false,"receipts":[{"sku":"com.mycompany.amazoninapp.ENTI01","token":"eyJ0eXBlIjoiTk9OQ09OU1VNQUJMRSIsInNrdSI6ImNvbS5wbGF5ZXJ0aHJlZS5hbWF6b25pbmFw\ncC5FTlRJMDEifQ\n", "itemType":"ENTITLED"}],"userId":"DefaultTestUser"})

JNI クラス名とメソッド シグネチャ文字列を正しく取得するための反復を行いました (UnsatisfiedLinkErrors は過去のものです)。null 文字列を再確認しています。JNI の残りの部分は正常に動作し、Amazon アプリ内購入 UI は正しく表示されます。ネイティブ メソッドを登録する前に、イベントが生成されないことが保証されます。

クラッシュの原因は何ですか?

事前にご入力いただきありがとうございます。

0 投票する
1 に答える
1255 参照

java - Java Instrumentation Agent ライブラリのネイティブ メソッドを再変換する

メソッドのエントリ/終了を記録するために、アタッチ API を介して動的にロードされる Java エージェント ライブラリを作成して、いくつかのメソッド (特定のスレッドのスタック トレースに表示されるメソッド) を再変換しようとしています。次に、メソッドの入口/出口情報が custom を介してエクスポートされますMBean

私の現在の「プロトタイプ」は、インストルメント化されたメソッドがネイティブでない限り、これまでのところ機能します。

java.lang.instrument.Instrumentation#setNativeMethodPrefix()のドキュメントによると、Java エージェントはネイティブ メソッドを非ネイティブ スタブ メソッドに置き換え、名前にその接頭辞を持つ別のネイティブ メソッドを追加できるはずです。元のネイティブ メソッドのネイティブ コードにバインドされます。

ただし、これを実装すると、次のエラーが発生します。

新しいネイティブ メソッドを追加したので、これは正しいことです。

ネイティブ メソッドを非ネイティブ メソッドに置き換えるだけで機能しますが、元のネイティブ メソッドにコールバックを委譲することはできません。nativeMethodClassSuffixネイティブメソッドはクラス名とメソッド名で検索され、類似のものがないため、別のクラスでネイティブメソッドを定義しても機能しません。別の新しいクラスローダーで同じ名前の別のクラスを定義することはうまくいくでしょう。新しいクラスへの呼び出しを委譲する間接的な方法で可能かもしれないと思いますが、1 つのネイティブ ライブラリは、1 つのみのクラスによってロードされたネイティブ メソッドにのみリンクできます。クラスローダが含まれているため、ネイティブ メソッドが適切にリンクされません。

ここで私が見逃している明らかなものはありますか?私のコードは少し長すぎてここに投稿できません。問題を示す Java エージェントの小さなサンプルを作成して、ここにリンクすることが役立つと思われる場合は、こちらを参照してください。