반응형

C 36

C에서 구조물에 메모리 할당

C에서 구조물에 메모리 할당 저는 구조물에 메모리를 동적으로 할당하는 프로그램을 만드는 임무를 맡고 있습니다.보통 우리는 사용할 것입니다. x=malloc(sizeof(int)*y); 그러나 구조 변수에는 무엇을 사용합니까?할 수 있을 것 같지는 않습니다. struct st x = malloc(sizeof(struct)); 누가 저 좀 도와주실 수 있나요?감사합니다!내가 가장 좋아하는 것: #include struct st *x = malloc(sizeof *x); 참고: x포인터여야 합니다. 깁스가 필요하지 않음 적절한 헤더 포함 당신은 그것을 제대로 하고 있지 않습니다.struct st x포인터가 아니라 구조입니다.스택에 하나를 할당하고 싶다면 괜찮습니다.힙에 할당할 경우struct st * x = ..

source 2023.08.27

PHP 확장자를 만드는 방법

PHP 확장자를 만드는 방법 이 질문에는 이미 다음과 같은 답이 있습니다. PHP 내부에 대해 배울 수 있는 곳은 어디입니까? (4개 답변) 마감됨2년 전에. 커뮤니티는 작년에 이 질문을 다시 시작할지 여부를 검토한 후 이 질문을 닫았습니다. 세부 정보 또는 명확성 필요 이 게시물을 편집하여 세부 정보를 추가하고 문제를 명확히 합니다. PHP를 사용하는 수 것을 .require_once. 하지만 C나 C++로 확장자를 작성하면 성능이 최적화됩니까? 만약 그렇다면, 당신은 그것을 위해 어떻게 "헬로 월드"를 만들겠습니까? PHP를 사용하는 수 것을 .require_once. 은 이기의다같습다니음입니다.include지정된 파일을 포함하고 평가하는 문입니다.확장명은 다른 PHP 스크립트 파일을 포함하고 있기 ..

source 2023.08.07

그런데 c 프로그램의 반환값을 명령줄에서 얻기 위해서입니까?

그런데 c 프로그램의 반환값을 명령줄에서 얻기 위해서입니까? bash 스크립트를 작성하면 반환 값을 얻을 수 있는 것은 이해하지만, 스크립트 없이 명령줄만 사용하여 반환 값을 얻을 수 있는 방법이 있습니까?네, Bash 스크립트에서 했던 것과 같은 방식입니다.다음과 같이 프로그램을 실행합니다. ./your_program; echo $? 이전 답변(좋은 지적, 칼 노룸)이 무효화된 점을 고려하여 제 의견을 답변으로 다시 표현하겠습니다. BASH는 이전에 실행된 명령의 반환 값을 변수에 저장합니다.$?이는 해당 명령을 작성하는 데 사용되는 프로그래밍 언어와 무관합니다(명령은 셸 내부일 수도 있음).언급URL : https://stackoverflow.com/questions/8230265/anyway-to-..

source 2023.08.02

웹어셈블리로 컴파일된 러스트 라이브러리에서 C 라이브러리를 사용하려면 어떻게 해야 합니까?

웹어셈블리로 컴파일된 러스트 라이브러리에서 C 라이브러리를 사용하려면 어떻게 해야 합니까? 저는 최종적으로 브라우저나 Node.js에서 Rust(정적 C 종속성 포함) 라이브러리를 사용하기 위해 Rust, WebAssembly 및 C 상호 운용성을 실험하고 있습니다.자바스크립트 글루 코드에 사용하고 있습니다. #![feature(libc, use_extern_macros)] extern crate wasm_bindgen; use wasm_bindgen::prelude::*; use std::os::raw::c_char; use std::ffi::CStr; extern "C" { fn hello() -> *const c_char; // returns "hello from C" } #[wasm_bindgen..

source 2023.07.28

Flexible Array 멤버가 구조 오류 끝에 있지 않은 원인은 무엇입니까?

Flexible Array 멤버가 구조 오류 끝에 있지 않은 원인은 무엇입니까? 왜 자꾸 전화가 오는지 궁금합니다.error: flexible array member not at end of structmalloc에 전화할 때 오류가 발생했습니다.가변 길이 배열을 가진 구조체가 있는데 이 오류가 계속 발생합니다. 구조는, typedef struct { size_t N; double data[]; int label[]; } s_col; 말로키스에게 전화를 걸었는데, col = malloc(sizeof(s_col) + lc * (sizeof(double) + sizeof(int))); 이것이 malloc에 대한 정확한 전화입니까?구조체에는 하나의 유연한 배열 멤버만 있을 수 있으며 항상 구조체의 마지막 멤버..

source 2023.07.23

OOP를 제외하고, 왜 C++이 C보다 나은가요?

OOP를 제외하고, 왜 C++이 C보다 나은가요? 닫힘.이 질문은여론에 입각한현재 답변을 수락하고 있지 않습니다. 이 질문을 개선하고 싶으십니까?이 게시물을 편집하여 사실과 인용문으로 답변할 수 있도록 질문을 업데이트합니다. 8년 전에 문을 닫았습니다. 이 질문을 개선합니다. 글쎄요, 트롤 질문처럼 들릴 수도 있지만, C++를 완전히 마스터하기는 어려워 보이기 때문에 (그리고 저는 STL이 실제로 그것의 "일부"라는 것을 결코 알지 못했습니다), 저는 OOP에 많이 의존하지 않을 때 C++ 대신 C를 사용하는 것이 어떤 단점이 있는지 알고 싶었습니다. C++는 때때로 매우 정교한 구문을 가질 수 있는데, 예를 들어 OGRE3D를 사용하려고 할 때 약간 혼란스럽습니다.C++에는 없는 OOO 이외의 기능: ..

source 2023.07.23

"j = ++(i | i); 및 j = ++(i & i);" 식은 값 오류여야 합니까?

"j = ++(i | i); 및 j = ++(i & i);" 식은 값 오류여야 합니까? 나는 내 코드에서 그것을 예상했습니다: #include int main(){ int i = 10; int j = 10; j = ++(i | i); printf("%d %d\n", j, i); j = ++(i & i); printf("%d %d\n", j, i); return 1; } j = ++(i | i);그리고.j = ++(i & i);다음과 같은 lvalue 오류가 발생합니다. x.c: In function ‘main’: x.c:6: error: lvalue required as increment operand x.c:9: error: lvalue required as increment operand 하지만 아래..

source 2023.07.18

긴 포인터가 무엇입니까?

긴 포인터가 무엇입니까? 책을 읽고 있는데 어떤 자료형이 긴 포인터라고 나와 있습니다.그게 무슨 뜻인지 궁금할 뿐이에요감사해요.일부 프로세서에는 근접 포인터와 원거리 포인터의 두 가지 유형의 포인터가 있습니다.근접 포인터는 원거리 포인터보다 좁습니다(따라서 범위가 제한됨).먼 포인터는 긴 포인터일 수도 있습니다. 일부 프로세서는 근처에 있는 것들에 대한 상대적 주소 지정을 제공합니다.긴 포인터는 항목이 근처에 있지 않으며 상대 주소 지정을 사용할 수 없음을 나타낼 수 있습니다. 어쨌든 긴 포인터는 플랫폼별 문제이므로 다른 OS나 플랫폼으로 이동할 수 없습니다. 편집: (상대 주소 지정에 대한 자세한 설명 및 사용) 주소 거리는 고급 개념이 아니라 어셈블리 언어 개념에 가깝습니다.거리는 프로그램 카운터(현..

source 2023.07.08

"어레이/포인터 동등성"을 뜻하는 현대 용어는 무엇입니까?

"어레이/포인터 동등성"을 뜻하는 현대 용어는 무엇입니까? 이것을 읽는 모든 사람들은 아마도 C에 대한 세 가지 핵심 사실에 익숙할 것입니다. 식에서 배열 이름을 언급하면 배열의 첫 번째 요소에 대한 포인터가 평가됩니다(대부분). 배열 구독 연산자[]포인터에 대해서도 배열에 대해서만큼 잘 작동합니다. 배열로 보이는 함수 매개 변수는 실제로 포인터를 선언합니다. 이 세 가지 사실은 C에서 배열 및 포인터 처리에 절대적으로 핵심적입니다.그것들은 세 개의 별개의 사실이 아닙니다. 그것들은 하나의 중심 개념의 서로 연결된 측면입니다.이 개념에 대한 적절한 이해 없이는 상당히 기본적인 C 프로그래밍조차 제대로 수행할 수 없습니다. 오늘 제 질문은 간단하게, 이 컨셉의 이름이 무엇인가요? 저는 제가 구식이라고 생각..

source 2023.07.03

C에서 환경 변수 설정

C에서 환경 변수 설정 리눅스에서 C를 사용하여 환경 변수를 설정할 수 있는 방법이 있습니까? 나는 노력했다.setenv()그리고.putenv()하지만 그들은 저를 위해 일하지 않는 것 같습니다.제가 여기서 추측해 보겠습니다만, 이러한 기능이 작동하지 않는 것처럼 보이는 일반적인 이유는 작동하지 않기 때문이 아니라 사용자가 환경 변수가 작동하는 방식을 제대로 이해하지 못하기 때문입니다.예를 들어 이 프로그램이 있는 경우: int main(int argc, char **argv) { putenv("SomeVariable=SomeValue"); return 0; } 그리고 나서 저는 그것을 셸에서 실행합니다. 그것은 셸의 환경을 수정하지 않습니다. 아이 프로세스가 그렇게 할 수 있는 방법은 없습니다.이러한 ..

source 2023.06.08
반응형