Ini adalah perintah nescc-mig yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
nescc-mig - generator antarmuka pesan untuk nesC
RINGKASAN
nescc-mig [opsi nescc apa saja] [opsi khusus alat]
[-o berkas keluaran] [-nescc=pengemudi]
alat format-pesan-file tipe pesan
DESKRIPSI
nescc-mig adalah alat untuk menghasilkan kode untuk memproses pesan nesC (yang ditentukan oleh C
jenis). NS alat argumen menentukan alat apa yang harus dihasilkan, tipe pesan
menentukan tipe C dari pesan yang ingin Anda proses dan format-pesan-file menentukan
nesC file yang menggunakan tipe itu. Jenis pesan harus ditentukan dengan struktur tipe pesan,
nx_struct tipe pesan, serikat tipe pesan, nx_union tipe pesan.
Saat digunakan dengan tipe yang tata letaknya bergantung pada platform (yaitu, tidak ditentukan dengan nx_struct
or nx_union), penting untuk menentukan yang benar nescc opsi arsitektur target
(-fnesc-target=...). Jika Anda memohon nescc-mig secara tidak langsung melalui mig, Anda bisa menggunakan NCC
-target=... pilihan sebagai gantinya.
Jika konstanta enum bernama NS_pesan_type (dengan pesan_type dikapitalisasi) ditemukan, maka
nilai konstanta itu diasumsikan sebagai tipe pesan aktif untuk tipe pesan. Jika
Anda memerlukan akses ke konstanta lain dari aplikasi nesC Anda, silakan berkonsultasi dengan nescc-
ncg halaman manual.
Alat saat ini adalah Jawa, csharp, ular sanca dan C, yang menghasilkan Java, C#, python dan C
kode untuk menyandikan dan mendekode pesan.
PILIHAN
Anda dapat melewati apapun nescc pilihan, serta
-o berkas keluaran
Tentukan file untuk menampilkan kode yang dihasilkan.
-nescc=pengemudi
penggunaan pengemudi alih-alih nescc untuk mengekstrak informasi tata letak tipe. Misalnya, jika
Anda tentukan -nescc=ncc, Anda dapat menggunakan nescc-mig untuk mengekstrak informasi jenis dari
Aplikasi TinyOS (yang biasanya dikompilasi dengan NCC).
opsi khusus alat
Lihat di bawah.
JAWA ALAT
Alat ini menghasilkan kelas java untuk menyandikan atau mendekode pesan nesC, mendasarkan dirinya pada
infrastruktur net.tinyos.message. Ini menerima opsi berikut:
-java-namakelas=nama kelas lengkap
Opsi ini diperlukan dan menentukan paket dan nama kelas yang dihasilkan.
Jika nama kelas lengkap tidak memiliki '.', maka tidak ada arahan paket yang disertakan dalam
output.
-java-memperpanjang=nama kelas
Tentukan kelas yang akan diperluas oleh kelas yang dihasilkan. Standarnya adalah
net.tinyos.message.Message.
Untuk setiap bidang nama-nama struktur tipe pesan, ada metode berikut (bit
metode offset dan ukuran berguna untuk struktur yang mengandung bitfield):
* Dapatkan_nama-nama: dapatkan nilai bidang
* mengatur_nama-nama: atur nilai bidang
* offsetBits_nama-nama: mengembalikan bit offset bidang di tipe pesan
* mengimbangi_nama-nama: mengembalikan byte offset bidang di tipe pesan
* ukuranBit_nama-nama: mengembalikan ukuran dalam bit bidang (bukan untuk array)
* ukuran_nama-nama: mengembalikan ukuran dalam byte bidang (bukan untuk array) (tidak ada jika nama-nama adalah
medan bit)
* ditandatangani_nama-nama: mengembalikan true jika nama-nama adalah tipe yang ditandatangani
* adalah Array_nama-nama: mengembalikan true jika nama-nama adalah array
Struktur tertanam di tipe pesan diperluas, menggunakan _ untuk memisahkan nama struktur
dan bidangnya.
Sejumlah metode tambahan hadir untuk bidang yang merupakan array:
* dapatkanElement_nama-nama: dapatkan elemen array
* setElemen_nama-nama: mengatur elemen array
* ukuran elemen_nama-nama: mengembalikan ukuran dalam byte elemen array
* elemenSizeBits_nama-nama: mengembalikan ukuran dalam bit elemen array
* jumlahDimensi_nama-nama: mengembalikan jumlah dimensi array
* nomorElemen_nama-nama: mengembalikan jumlah elemen array untuk dimensi tertentu
(dimensi paling kiri diberi nomor 0) - dimensi adalah opsional untuk 1-dimensi
array
* totalUkuran_nama-nama: mengembalikan ukuran dalam byte array (tidak ada jika array adalah
ukuran variabel)
* totalUkuranBit_nama-nama: mengembalikan ukuran dalam bit array (tidak ada jika array adalah
ukuran variabel)
Jika array 1 dimensi dan elemennya satu byte, maka metode berikut:
ada:
* dapatkanString_nama-nama: buat string Java dari array dengan asumsi itu berisi gaya-C
string yang diakhiri null
* setString_nama-nama: atur array ke string diakhiri-nol gaya-C yang diberikan java
string
dapatkanElemen_..., setElemen_..., mengimbangi_... dan offsetBits_... metode mengambil satu
argumen per dimensi array. Metode ini melaporkan kesalahan jika indeks array keluar dari
batas. Jika sebuah array memiliki ukuran maksimum 0, mig menganggapnya mewakili ukuran variabel
array dan tidak memeriksa indeks array yang sesuai.
Data untuk sebuah pesan disimpan dalam sebuah array, dengan informasi dasar dan panjang yang eksplisit.
Konstruktor dapat mengalokasikan array ini, menerimanya sebagai argumen eksplisit atau
ekstrak jika dari pesan lain. Basis dan panjangnya juga dapat diteruskan secara opsional ke
konstruktor ini.
Argumen panjang opsional menimpa ukuran default sizeof(message-type); ini
berguna untuk pesan berukuran variabel. Penggunaan basis eksplisit sangat membantu untuk pesan
tertanam dalam pesan lain.
Kelas yang dihasilkan juga memiliki metode amType() yang mengembalikan pesan aktif pesan
ketik, atau -1 jika tidak ada AM_pesan_type konstan ditemukan.
C# ALAT
Alat ini menghasilkan kelas C# untuk menyandikan atau mendekode pesan nesC. Ia menerima
opsi berikut:
-csharp-nama kelas=nama kelas lengkap
Opsi ini diperlukan dan menentukan namespace dan nama yang dihasilkan
kelas. jika nama kelas lengkap tidak memiliki '.', maka tidak ada arahan namespace yang disertakan
dalam keluaran.
-csharp-extends=nama kelas
Tentukan kelas yang akan diperluas oleh kelas yang dihasilkan. Standarnya adalah
tinyos.pesan.Pesan.
Metode di kelas yang dihasilkan sama dengan alat Java.
PYTHON ALAT
Alat ini menghasilkan kelas Python untuk menyandikan atau mendekode pesan nesC. Ia menerima
opsi berikut:
-python-namakelas=nama kelas lengkap
Opsi ini diperlukan dan menentukan nama kelas yang dihasilkan.
-python-extend=nama kelas
Tentukan kelas yang akan diperluas oleh kelas yang dihasilkan. Standarnya adalah
tinyos.pesan.Pesan.Pesan.
Metode di kelas yang dihasilkan sama dengan alat Java.
C ALAT
Alat ini menghasilkan file header C (.h) dengan konstanta yang menjelaskan tata letak tipe, dan
modul C (.c) dengan fungsi untuk mendapatkan dan mengatur setiap bidang. Anda harus lulus .h nama file
untuk nescc-mig menggunakan -o.
Alat C menerima opsi berikut:
-c-awalan=awalan
Opsi ini menentukan awalan untuk melampirkan konstanta yang dihasilkan dan
fungsi. Jika dihilangkan, tipe pesan digunakan.
Untuk setiap bidang non-array nama-nama struktur tipe pesan, fungsi berikut dan
konstanta yang dihasilkan:
* awalan_fname_GET(): dapatkan nilai bidang
* awalan_fname_mengatur(): dapatkan nilai bidang
* awalan_fname_OFFSETBIT: bit offset lapangan
* awalan_fname_MENGIMBANGI: byte offset bidang
* awalan_fname_SIZEBIT: ukuran dalam bit bidang
* awalan_fname_UKURAN: ukuran dalam byte bidang
Untuk setiap bidang array nama-nama struktur tipe pesan, fungsi berikut dan
konstanta yang dihasilkan:
* awalan_fname_Dapatkan(): dapatkan nilai bidang
* awalan_fname_mengatur(): dapatkan nilai bidang
* awalan_fname_offsetbit(): bit offset elemen array
* awalan_fname_mengimbangi(): byte offset elemen array
* awalan_fname_ELEMENTSIZEBIT: ukuran dalam bit elemen array
* awalan_fname_ELEMENTSIZE: ukuran dalam byte elemen array
* awalan_fname_NUMELEMENTS: jumlah elemen dalam array (tidak ada untuk ukuran variabel
array)
* awalan_fname_NUMELEMENTS_i: ukuran dari idimensi larik
Struktur tertanam di tipe pesan diperluas, menggunakan _ untuk memisahkan nama struktur
dan bidangnya. Bidang array struktur tertanam dianggap sebagai array.
GALAT
nescc-mig melaporkan kesalahan jika nescc tidak dapat dikompilasi format-pesan-file, Jika tipe pesan tidak
ditemukan atau jika berisi pointer.
Gunakan nescc-mig online menggunakan layanan onworks.net