コアライブラリを見つけるためにArduinoのファイル内をしばらく探していました。ただし、まだ見つかりません。ハードドライブのどこで、すべてのArduinoコードに必要なコアライブラリファイル(.cppおよび.h)を入手できますか?
Googleを見て回ったところ、上記のファイルを見つける方法が見つかりませんでした。 Arduinoのコンパイル中に.aファイルを取得することについて何かを見ましたが、それは私が望んでいることではありません。コードを参照し、delayなどの関数を調べて、予期しない値が与えられたときにどのように反応するかを確認したいと思います。 。(つまり、delay(-200);
を使用すると、ループを終了しないためにコードが停止しますか、それともブラックホールが作成され、時空間の連続性が損なわれますか?)
コメント
- 質問に興味がありましたが、必要なのは strcpy と strcat のソースコードです。 i>アセンブラのソースコードでマスターライブラリをダウンロードしましたが、strcpyやstrcatに似たものをリモートで見つけることができません。または、木の木材が見えない可能性がありますか?
- @bobzic別の質問をすることをお勧めします検索するファイルを指定する質問。
回答
ベースのArduinoソースファイルはArduinoのインストールにあります、 cores/arduino/
。含まれている追加のライブラリのソースは、 libraries/
にあります。
コメント
- そして'
/usr/lib/avr/include/
またはLinux以外のシステムで変換されるものを忘れないでください。 - Windows 10アプリとしてインストールしたので、インストールフォルダーにアクセスできません。
- この情報は古くなっているようです。 ライブラリフォルダが空になり、ハードウェアが移動しました
回答
IDEがインストールされていない場合は、コードをオンラインで入手することもできます。
https://github.com/arduino/Arduino
コメント
- できます'そこにヘッダーファイルが見つかりません。
- 以下の私の答えを参照してください: arduino.stackexchange.com/a / 68658/59512
回答
Macの場合、ソースコードフォルダへのパスis:
Arduino.app/Contents/Resources/Java/Hardware/Arduino/Cores/Arduino
。他のOSの/Java/
以降も同じだと思います。
回答
arduinoソースファイルは、Githubの https://github.com/arduino/Arduino 、hにあります。ただし、ライブラリは独自のリポジトリに移動されました:
回答
見ることができる場所は複数あります。 IDE 1.6.4(Ubuntuバージョン)と同様に、いくつかは次の場所にあります:
(install location)/libraries
ただし、これらは特に高レベルのライブラリです:
Bridge Esplora Ethernet Firmata GSM LiquidCrystal Robot_Control RobotIRremote Robot_Motor SD Servo SpacebrewYun Stepper Temboo TFT WiFi
Tone、Print、mainなどの低レベルライブラリは対象外です。これらは次の場所にあります:
(install location)/hardware/arduino/avr/cores/arduino
Arduinoのコアライブラリは次のようになります。
abi.cpp Arduino.h binary.h CDC.cpp Client.h HardwareSerial0.cpp HardwareSerial1.cpp HardwareSerial2.cpp HardwareSerial3.cpp HardwareSerial.cpp HardwareSerial.h HardwareSerial_private.h HID.cpp hooks.c IPAddress.cpp IPAddress.h main.cpp new.cpp new.h Printable.h Print.cpp Print.h Server.h Stream.cpp Stream.h Tone.cpp Udp.h USBAPI.h USBCore.cpp USBCore.h USBDesc.h WCharacter.h WInterrupts.c wiring_analog.c wiring.c wiring_digital.c wiring_private.h wiring_pulse.c wiring_shift.c WMath.cpp WString.cpp WString.h
ただし、それでもstrcpyのようなものは見つかりません。それらのヘッダーファイルは次の場所にあります:
(install location)/hardware/tools/avr/avr/include/
そこにあります:
alloca.h assert.h ctype.h errno.h inttypes.h math.h setjmp.h stdfix-avrlibc.h stdint.h stdio.h stdlib.h string.h
それでも完全な話ではありません。サブディレクトリ(avr)には、次のようなさまざまなプロセッサ用のファイルを含むavr関連のものがあります。
boot.h builtins.h common.h cpufunc.h crc16.h delay.h eeprom.h fuse.h interrupt.h io1200.h io2313.h ... iox64d4.h iox8e5.h lock.h parity.h pgmspace.h portpins.h power.h sfr_defs.h signal.h signature.h sleep.h version.h wdt.h xmega.h
strcpyのソースについては、ディストリビューションにはないと思います。プリコンパイルされた標準ライブラリが含まれています。たとえば、次のように表示されます。
(install location)/hardware/tools/avr/avr/lib
たとえば、次のようなさまざまなコンパイル済みライブラリが表示されます。
libc.a libm.a libprintf_flt.a libprintf_min.a libscanf_flt.a libscanf_min.a
ソースを見つけるには、AVRソースの場所を見つける必要があります。 libcは(おそらく http://www.nongnu.org/avr-libc/ )です。
Macの場合、これらはすべて、右クリックして[パッケージの内容を表示]を選択すると表示できる[アプリケーションパッケージ]の数レベル下にあります。Contents/Resources/Java
フォルダを確認してください。
これらの場所のどれもは own ライブラリ(作成したものeまたはダウンロード)。sketchbook
フォルダーのサブディレクトリであるlibraries
フォルダーに移動する必要があります。 libraries
フォルダーが存在しない場合は、作成します。 そうすれば、ユーザーがインストールしたライブラリは、IDEのあるバージョンから次のバージョンまで存続します。