This project seamlessly links Python, C, C#, and Rust through a master C++ orchestrator.
Before building the project, ensure you have the required compilers and SDKs installed for all 5 languages.
This is the linux guide. For windows version, scroll down a bit.
sudo apt update
sudo apt install build-essentialsudo dnf install gcc gcc-c++sudo apt install python3 python3-devsudo dnf install python3 python3-develThe Rust compiler and Cargo package manager. (It is recommended to use rustup).
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shThe .NET 10 SDK (required for Native AOT compilation). Please follow the Official Microsoft Documentation to install the .NET 10 SDK for your specific Linux distribution.
Note
This project currently supports Linux on both ARM64 (Apple Silicon VMs, Raspberry Pi) and standard x64 (Intel/AMD) architectures. Run the commands below based on your system.
The easiest way to compile the entire project is to use the included build script. It will automatically detect your system architecture and compile all 5 languages.
chmod +x build.sh
./build.sh./mainIf you prefer to compile each language manually, follow these steps based on your a
gcc -shared -o subtraction.so -fPIC subtraction.cFor ARM64 Linux:
dotnet publish CSharpMath/CSharpMath.csproj -c Release -r linux-arm64
cp CSharpMath/bin/Release/net10.0/linux-arm64/publish/multiplication .For x64 Linux (Standard Intel/AMD):
dotnet publish CSharpMath/CSharpMath.csproj -c Release -r linux-x64
cp CSharpMath/bin/Release/net10.0/linux-x64/publish/multiplication .cd division
cargo build --release
cd ..
cp division/target/release/libdivision.so .g++ calculator.cpp subtraction.so libdivision.so -o main -Wl,-rpath,. $(python3-config --cflags --embed --libs)./mainpowershell.exe -ExecutionPolicy Bypass -File .\build.ps1.\main.exe