This is more of a C/C++ question. However the files I am asking about are a part of the Arduino library.
In /arduino-1.6.5-r5/hardware/arduino/avr/cores/arduino/Arduino.h :
#ifndef Arduino_h
#define Arduino_h
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <math.h>
#include <avr/pgmspace.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include "binary.h"
#ifdef __cplusplus
extern "C"{
#endif
How are these blocks found at compile time in the main sketch?
#include <avr/pgmspace.h>
#include <avr/io.h>
#include <avr/interrupt.h>
Does #include <avr/somelibrary.h> mean that this is a standard library from either avr-g++ or avr-gcc? As opposed to a standard g++ or gcc compiler?
One last question, how can there be an Arduino.h without an Arduino.c? I searched through the project but could not find an Arduino.c. All of these are probably stupid questions, as I am in the process of learning C/C++. I am completely new to it.