std :: sys አጠቃቀም
std::sys ከከፍተኛ ደረጃ ሞጁሎች በታች የ OS ረቂቅ ንብርብር ነው።
std(high-level)
-> sys dispatcher
-> sys/linux or sys/macos
-> syscall
መሠረታዊ ደንቦች
- አብዛኛዎቹ ተግባራት ጥሬ የሳይካል እሴቶችን ይመለሳሉ።
>= 0ተሳክቷል፣< 0አልተሳካም (-errno)።- በከፍተኛ ደረጃ መተግበሪያ ኮድ ከተቻለ
std::sys፣std::netእናstd::timeበመጀመሪያ ከstd::envይጠቀሙ።
1) የፋይል ንባብ ምሳሌ (std::sys::fs)
import("std::sys::fs");
fun main() {
var fd: i64 = open("/etc/hosts", 0, 0);
if (fd < 0) {
return;
}
var buf: array<u8, 256>;
var n: i64 = read(fd, &buf[0], 256);
close(fd);
}
2) የሶኬት ምሳሌ (std::sys::socket)
import("std::sys::socket");
fun main() {
var fd: i64 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (fd < 0) {
return;
}
shutdown(fd, SHUT_RDWR);
}
