そのレベルじゃなくて一つのプロジェクトで
1.Windowsでビルドする/動く
2.Linux/FreeBSDでビルドする/動く
3.Linuxでクロスビルドする/別アーキテクチャのプラットフォームで動く
みたいなのをやりたい。1〜2はともかく3はベアメタルに近いのでコアのソースはno_std付きになる

クレートもWindowsAPIへアクセスする場合Cargo.tomlに
[dependencies]
winapi = "〜
kernel32-sys = "〜
とか書くけどコレをつけたまま他のプラットフォームでビルドできるのか?とか
仕様上無視してくれるならそれで良いけどはっきりしないと無用なトラブルの元
クレートを使わずにソースにexternを並べていって条件付きコンパイルすればその心配は
なくなりそうだけど各種定義とか、IA32/AMD64環境下の差異の吸収とかいろいろ面倒だし