2
İşlem belleğini qnx'de almak istiyorum. Bir kabukta, sonucu showmem -P pid
komutunu kullanarak alabilirim. C komutu için bir boru açıyorum ama sonra komutun çıktısını ayrıştırmak istiyorum ama nasıl yapıldığını bilmiyorum.qnx üzerinde işlem belleği nasıl alınır
int main()
{
pid_t self;
FILE *fp;
char *command;
self=getpid();
sprintf(command,"showmem -P %d",self);
fp = popen(command,"r");
// Then I want to read the elements that results from this command line
}
Aslında dize için bellek ayrılırken ile başlamak isteyebilirsiniz İşte
paylaşılan nesneleri yok varsayarak bir örnektir Komutun, bu yüzden, undeitialized pointer 'komutu' kullanılarak * tanımlanmamış bir davranışınız olmaz. Bir dizi iyi bir fikir olurdu. –Komutun çıktısını ayrıştırma probleminiz ile ilgili olarak, [popen' işlevi hakkında] okumak için iyi bir fikir olabilir (http://pubs.opengroup.org/onlinepubs/9699919799/functions/popen.html) . Bunu yaptıktan sonra, komut çıktısını nasıl okuyacağınızı ümit etmelisiniz. Ve yardımımızı sorduğumuzda, çıktının neye benzediğini gerçekten bilmiyorsak nasıl yardımcı olabiliriz? –
Fscanf kullanarak belleği alabildim – Bionix1441