2012-12-16 19 views
5

Büyük veri kümelerini (değişken uzunluktaki tamsayı dizileri, metin dizgileri kitaplığı vb.) Doğrudan bir yürütülebilir dosyaya kodlamak istiyorum, bu nedenle ek dosya yok.Büyük veri kümesini yürütülebilir dosya haline getiriyor musunuz?

Sorum şu: C++'da bunu yapmanın en pratik ve organize yöntemi nedir? Verileri başlık veya kaynak dosyaları açısından nereye yerleştiririm? Hangi yapıyı kullanmalıyım?

Bunun veri ile uğraşmanın kabul edilen yolu olmadığını anlıyorum. Ama espri beni!

+0

Bunu daha önce de görmüştün. – djechlin

+0

, farklı bir .cpp dosyasına koymayı deneyin, örneğin, 'resources.cpp', sonra' extern 'yapın ve bir başlık dosyası verin. –

+0

http://stackoverflow.com/questions/410980/include-a-text-file-in-a-c-program-as-a-char ilgili, tam olarak aradığım şey değil. – djechlin

cevap

8

Hem C++ hem de C için, bu değişkenler için bildirimler eklemek üzere başlık dosyasını kullanabilir ve ardından gerçek başlatma kodunu .c (veya .cc) dosyasına yerleştirebilirsiniz. Hem C hem de C++ iyi başlatıcılar sözdizimine sahiptir.

mydata.h:

extern int x; 
extern int a[10]; 
extern unsigned char *s; 

mydata.c:

#include "mydata.h" 
int x = 123; 
int a[10] = {1,2,3,4,5,6,7,8,9,10}; 
unsigned char *s = "mystring"; 

sonra main.c sahip olacaktır:

#include "mydata.h" 
#include <stdio.h> 

int main(const int argc, char *argv[]) 
{ 
    printf("%d, %d, %s\n", x,a[5],s); 
} 

test çalıştırması şuna benzer:

Örneğin
$gcc -o main main.c mydata.c 
$ ./main 
123, 6, mystring 

Şimdi, gerçekten organize olmak için, CSV dosyalarının SQL veritabanı gibi veri kaynaklarınızdan oluşturulmuş dosyaları oluşturmak için Perl/Python/PHP betiği yazılırdı.

İlgili konular