問題タブ [libm]

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 投票する
5 に答える
434 参照

c - Libmには三角関数がありません

特定の組み込みシステムのlibmathには、 fp操作単位がないなどの機能がsinありません。cos

ルックアップテーブルを介して関数を提供するライブラリはありますか?実際には100%信頼できる値は必要ありません。

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

android-ndk - Android NDK で complex.h を使用するにはどうすればよいですか?

Android デバイス (Nexus 7) で実行したい C で記述されたネイティブ ソース コードがあります。私はすでに、Android NDK を使用して Android でネイティブ コードを実行するための多くの調査とオンライン チュートリアルを成功させてきました。これについてはかなりの知識を得ることができました。ただし、私が持っているコードは、complex.h で定義されている標準数学ライブラリの複雑な機能を利用しています。ただし、NDK C ライブラリは複雑な機能をサポートしていないようです。プロジェクトで ndk-build を実行するたびに、次のようになります。

解決策として、arm-linux-gnueabi から標準数学ライブラリ (libm.a) を取得し、ネイティブ ソースにリンクすることを考えました。ここに私の Android.mk があります:

libmが必要とするだけでなく、arm-linux-gnueabi-gccのlibcをリンクする必要がありました。「ComplexOperations」モジュールは、コンパイラ フラグ -march=armv7-a を指定して arm-linux-gnueabi-gcc を使用して静的にコンパイルされました。このライブラリは、complex.h を利用します。これにより、エラーや警告なしでビルドされます。しかし、アプリケーションを実行して呼び出すと

logcat で次のエラーが表示されます。

このエラーでは、UnsatisfiedLinkError 例外がスローされ、処理しないとアプリケーションがクラッシュします。

誰か助けてください!! 私はすでに何日も自分でこれを理解しようとしました!! :(

0 投票する
0 に答える
223 参照

android - Bionic Cライブラリでサポートされていない標準Cライブラリを使用してAndroid-NDKでビルドするにはどうすればよいですか?

私のネイティブソースは複雑な操作(defining)を利用しています。これらの操作は、標準のC99数学ライブラリに実装されていますが、Android-NDKで使用されるバイオニック数学ライブラリには実装されていません。このため、ソースをコンパイルするために、bionicmathライブラリの代わりにStandardMathライブラリを使用したいと思います。

私の可能性は何ですか?

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

c++ - リンクlibmが必要なかったのはなぜですか?

上記のコードをコンパイルし (-lm を使用していません)、use ldd a.out を追加すると、結果は次のようになります。

a.out がlibmとリンクしなかったのに、roundf (または sqrt のようなもの) を使用できるのはなぜですか? nm を使用して libc.so.6 と ld-linux-x86064.so.2 をテストしましたが、これらすべてに roundf のシンボルがありませんでした。

roundf が定義されている場所、またはコンパイラによってインライン化されている場所を知りたいですか? (gcc 4.7.3 および gcc 4.6.3 でテスト)


答えはhttp://fedoraproject.org/w/index.php?title=UnderstandingDSOLinkChangeです。

0 投票する
0 に答える
1007 参照

gcc - Centos gcc に互換性がない libm.so と libc.so

Centos 6.3 でコンパイルする C++ プログラムを取得しようとしています。次のエラー メッセージが表示されます。

コマンドを使用する場合:

一日中一貫して働いています。

システムには /lib/libc.so.6 があり、一部の投稿では、部分的な解決策がシンボリック リンクである可能性があると思われます。gcc のバージョンは 4.4.7 です。ldconfig -v は libc.so を表示せず、libc.so.6 のみを表示しました。/usr/lib/libc.so と libm.so を _old に移動しようとしました。その後、以下の 2 つのリンクを作成しました。

解決しませんでした。コンパイラから同じ 2 つのメッセージが表示されます。

0 投票する
3 に答える
8510 参照

c - 数学関数用の静的ライブラリがないのはなぜですか?

ほとんど静的バージョンを持たない動的ライブラリのみを使用するのは標準ですか? 私は特に数学ライブラリについて質問しています。私の fedora 17 (Intel 32 プロセッサの Linux マシン) には、最新の gcc があり、libm-2.15.so とシンボリック リンク ファイル libm.so がありますが、libm.a はありません。

システムに libm.a がありませんか?

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

floating-point - glibc の fesetflushtozero() に相当するものは何ですか?

HP-UX の libc には、fesetflushtozero浮動小数点の動作を「段階的なアンダーフロー」と「ゼロへのフラッシュ」の間で切り替える機能があります。glibc を実行しているシステムで同じことを達成するにはどうすればよいですか?

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

c - math.h をインクルードして libm をリンクする場合の C sinhl 未定義参照

誰かがこれを以前に見たことがあり、洞察を提供できることを願っています。

FreeBSD 9.2 x86_64 で gcc 4.2.1 を使用して、math.h を含めて libm をリンクしています。

sinl、cosl、tanl などの関数は機能しますが、sinhl などを呼び出すとすぐに、ビルトインの暗黙の宣言と未定義の参照のエラーに関する警告が表示されます。

関連するヘッダー セクション:

Makefile スタッフ:

コンパイル試行の結果:

math.h を確認したところ、sinl と sinhl の両方が同じようにリストされています。ニヤリとして、32 ビット版の libm にリンクしようとしましたが、うまくいきませんでした。

興味深いことに、/usr/include/libm.a 内のシンボルを見ると、sinl には何かが表示されますが、sinhl には何も表示されません。双曲線三角関数を使用するには、他のライブラリをリンクする必要がありますか?

私はこの 24 時間、オンとオフをつつき続けてきました。coshl、tanhl、logl、log2l、log10l、expl など、他の多くの関数でも同じ問題が発生します。

新鮮な目からのアイデアはありますか?

前もって感謝します。-T