What is the difference between #include and #include “library”?
I downloaded the sketch below and wanted to examine the library time.h to find out what the output variable types are but couldn’t find the library.
When I hover over it, it gives the location as:
AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\tools\sdk\esp32\include\newlib\platform_include\time.h
In that folder there are none of the usual entries such as examples or a .cpp file.
#include <WiFi.h> #include "time.h"
const char* ssid = "SSID"; // Name of the Wi-Fi box
const char* password = "Password"; // MDP of the Wi-Fi box
It depends on the system involved, some limit the library search paths differently, some just impose a different search order. IIRC Arduino does the search order thing, so that if there's only one match it will always find it.
Use <> for external libraries, "" for one's local to your application (in the same source tree). That way your intention is documented too.
With verbose output you can see which library directories are passed to the compiler in the command lines.
On ESP32, 'time.h' is pretty much a straight implementation of the standard Unix / POSIX Time functions, data types, and structures that have been around since at least the 1980s. So, you may not find much information in Arduino-centric sources, but it's out on the interweb in more general form.