나의 C 스킬은 매우 녹슨 것이므로 바보 같은 질문이라면 사과하겠습니다.하지만이 간단한 질문에 대한 답을 찾아야한다고 생각조차 할 수 없습니다.char * argv []를 전달하고 char * argv를 선언하는 것과 다른 점은 무엇입니까?
#include <ruby.h>
int run_script(int argc, char *argv[]) {
ruby_sysinit(&argc, &argv);
}
을하지만이 코드를 컴파일 할 때, 나는 다음과 같은 경고를 얻을 : 이 코드는 경고없이 컴파일 내가 두 경우 모두 같은 포인터 타입을 전달하고 같은
#include <ruby.h>
int run_script(char * parameters) {
int argc=0;
char *argv[1];
ruby_sysinit(&argc, &argv);
}
run_script_3.c: In function 'run_script':
run_script_3.c:7: warning: passing argument 2 of 'ruby_sysinit' from incompatible pointer type
보인다합니다.
그냥 확인 : 두 경우 모두 동일한 컴파일 옵션 (경고 수준 등)? –
예 동일한 정확한 명령 행 옵션, 다른 파일 내용 만 – nPn
ruby_sysinit의 프로토 타입은 무엇입니까? –