I wrote an *.ino environment:
´// Testing environment for Arduino sketch files.
// Aduino IDE 2.3.0
// Author : Anders Munck
// Released : 2024 02 09
#include <iostream>
const bool LOW=false;
const bool HIGH=true;
const bool INPUT=false;
const bool OUTPUT=true;
const unsigned char LED_BUILTIN=13;
using namespace std;
void where(std::string hank)
{ cout <<"Where : "<<hank<<"\n"; }
int random(int max)
{ return std::rand(); }
unsigned long klokken=0;
unsigned long int millis()
{ klokken++;
cout <<"When : "<< klokken <<"\n";
return klokken;
}
class SERIAL
{ public:
void begin(int Baud)
{ cout<<"Arduino sketch : Serial.begin()\n"; };
void end()
{ cout<<"Arduino sketch : Serial.end()\n"; };
void print(std::string A)
{ cout<<"Arduino sketch : print()\n"; };
void println(std::string A)
{ cout<<"Arduino sketch : println()\n"; };
} Serial=SERIAL();
void digitalWrite(unsigned char A,bool S)
{ cout << "Arduino sketch : digitalWrite()\n"; }
void pinMode(unsigned char A,bool S)
{ cout << "Arduino sketch : pinMode()\n"; }
// Include Your Arduino sketch file here:
#include "signal.ino"
int main()
{ setup();
for(int i=0;i<100;i++){ loop(); };
return 0;
}´
The purpose is to get run time error messages from the *.ino sketch.
You will not get usefull timing information this way, as the program is running on another processor.
I run it with a GPU C++ IDE.
Please regard my code as preliminary ad-hoc program; You may need to develop further for Your needs.