glutだとglutInit(&argc,argv)で初期化を行う。
argcとargvには何が入っているか出力してみた。
#include <stdio.h>
int main(int argc, char *argv[]){
printf("argc=%d\n",argc);
printf("argv[0]=%s\n",argv[0]);
printf("argv[1]=%s\n",argv[1]);
}
int main(int argc, char *argv[]){
printf("argc=%d\n",argc);
printf("argv[0]=%s\n",argv[0]);
printf("argv[1]=%s\n",argv[1]);
}
で、コンパイルして
$./a.out
で実行すると、以下の結果が出た。argc=1
argv[0]=./a.out
argv[1]=(null)
argv[0]=./a.out
argv[1]=(null)
というわけでglutの初期化をmain関数以外で使うには、こんな感じしたらできた。
#include <GL/glut.h>
#include <stdio.h>
void func(int argc, char *argv[]){
glutInit(&argc,argv);
}
int main(int argc, char *argv[]){
char *v[]={"window name"};
func(1,v);
glut...;//他のglut関数
return 0;
}
#include <stdio.h>
void func(int argc, char *argv[]){
glutInit(&argc,argv);
}
int main(int argc, char *argv[]){
char *v[]={"window name"};
func(1,v);
glut...;//他のglut関数
return 0;
}
0 件のコメント:
コメントを投稿