Bölüm 28 · R C API'sini anlamak

Prof. Dr. Bahadır Yüzbaşı · Kod sürümü 2026-09-27

Tüm bölümler · Tam kod arşivi (ZIP)

Konular

  • Soyutlama katmanını bir basamak indirmek
  • SEXP: R nesnesinin C tutamacı
  • .Call ve .C ayrımı
  • Koruma yığını ve çöp toplama
  • C AXPY çekirdeği
  • Hata ve kaynak temizliği
  • R sarmalayıcı ve simge nesnesi
  • Yerel yordam kaydı
  • Dört arka uç için sorumluluk tablosu

Ön koşullar ve çalıştırma

Gerekli kurulu bileşenler: jsonlite, digest, Rcpp, RcppArmadillo; C/C++ ve Fortran derleyicileri.

Bu komut Bölüm 25–29 ortak test grubunu çalıştırır; tek dosyanın bağımsız çalıştığı iddiası değildir. Yardımcı işlevler ve girdiler birlikte yüklenir.

Önce tam arşivi açın. Aşağıdaki yolu arşivden çıkan R_programlama dizininin gerçek tam yoluyla değiştirin. Rscript PATH üzerinde bulunmalıdır.

macOS/Linux (Terminal):

cd /absolute/path/to/R_programlama
NATIVE_RUN_ID=okur-bolum-28-01 Rscript --vanilla scripts/run_native_smoke.R

Windows (PowerShell):

cd "C:/path/to/R_programlama"
$env:NATIVE_RUN_ID="okur-bolum-28-01"
Rscript --vanilla scripts/run_native_smoke.R

Test grubunu yeniden çalıştırırken 01 son ekini 02 yapın; önceki sonuçlar korunur. Grup sonuçları validation/v0.1/<run-id>/ altında, sürüm ve bütünlük kayıtlarıyla saklanır.

Beklenen sonuç

Komut sıfır çıkış koduyla tamamlanır; test raporunda tüm kapılar PASS/TRUE olmalıdır. Eksik paket/derleyici durumunda başarı varsayılmaz; hata iletisini izleyin.

Bölüm dosyaları

Tek dosya bağlantıları inceleme içindir. Çalıştırmak için tam arşiv önerilir; ortak saf-R referansı ve diğer bölüm dosyaları gerekebilir.

Yerel kod bu sürümde R, Rcpp, C API ve Fortran sonuçlarını küçük girdilerde karşılaştırır; hız üstünlüğü veya BernoulliRuns’ın yerel çekirdek içerdiği iddia edilmez.

← Bölüm 27 · Dizin · Bölüm 29 →