alloca

    0

    1답변

    내부적으로 _alloca() 함수 (malloc.h에 정의 됨)를 사용하는 공유 객체 (.so)를 빌드하고 있습니다. 이것은 .so가 부드럽게 컴파일됩니다. 그러나 최대한 빨리 콘솔 출력 그래서 symbol lookup error: undefined symbol: _alloca 파크(), 내 응용 프로그램이 충돌 _alloca를 사용합니다 함수를 호출

    2

    2답변

    가능한 중복은 : In which cases is alloca() useful? 는 최근 alloca 함수() 함수의 사용을 볼 수 있었던. Google 검색은 스택에 공간을 할당하는 데 사용되었다고 말했습니다. 나는 그것을 신청할 수 없다. 또한, 이것을 사용하는 데있어서 함정이 있습니까?

    2

    1답변

    , alloca()는 함수 호출의 인수 목록 내에서 사용 할 수없는 많은 시스템에 alloca(3) 의 맨 페이지에서 BUGS 섹션의 두 번째 단락을 인용 함수 인수를위한 공간의 중간에. 어떻게 이런 일이 발생하는지 보지 못했습니다. 예를 들어 다음의 코드를받는 내 이해를 바탕는 void f(int a, void * b, int c); int main

    1

    6답변

    이것은 본질적으로 제 문제입니다. 함수의 수명에서 일부 정수를 생성 한 다음 동일한 함수의 일부인 알고리즘에서 정수 배열을 사용합니다. 정수 배열은 함수 내에서만 사용되므로 당연히 스택에 배열을 저장하는 것이 좋습니다. 문제는 모든 정수 생성이 끝날 때까지 배열의 크기를 알 수 없다는 것입니다. 고정 크기와 가변 크기의 배열을 스택에 할당하는 방법을 알고

    0

    1답변

    내가 프로젝트 polyworld을하지만 g++ -o bin/qt_clust .bld/qt_clust/tools/clustering/qt_clust.o -L/usr/lib -L/usr/local/lib -L/usr/include -lz -lgsl -lgslcblas -lgomp 을 qt_clust.o 컴파일 오류가 발생하고 얻으려고이 "_alloca",

    0

    4답변

    함수 _alloca (alloca)는 "free"를 요구하지 않는 스택에 메모리를 할당합니다. C에서 스택에 할당하는 함수를 작성할 수 있습니까? 구두로 표시하는 또 다른 방법은 _alloca입니다. 등의 이유로 C에서 불가능합니다. 1) 기능은 ASM 으로 작성되었습니다. 2) C 런타임 라이브러리의 특징입니다. void func (const char *

    11

    3답변

    C를 개정하면서 공간과 같은 스택에 스토리지를 할당하는 것으로 설명되는 alloca/free 함수를 발견했습니다. 이것은 malloc/free와 동일합니까? 아니면 다른 무엇입니까? 감사.

    3

    2답변

    class MyString { public: MyString(int length):_ptr(alloca(length)) { } //Copy Constructor, destructor, other member functions. private: void* _ptr; }; int main()

    3

    6답변

    추상 데이터 형식에서 스택 할당을 래핑하는 방법을 찾고 있습니다. 예를 들어 스택에 할당을 통해 엄격하게 작업 할 수있는 벡터를 만들고 싶습니다. 가장 큰 장애물은 현재 스택 프레임 내에서만 alloca이 작동한다는 것입니다. 따라서 이것을 함수로 묶는 쉬운 방법은 없습니다. 지금까지 내가 이것을하는 유일한 방법은 주어진 스택 프레임으로 컴파일되도록 보장

    3

    1답변

    대부분의 플랫폼에서 alloca은 스택 포인터의 인라인 조정 (예를 들어, x64의 경우 rsp에서 스택 정렬을 유지하기위한 약간의 로직을 더한 것)으로 끝납니다. gcc가 alloca에 대해 생성하는 코드를보고 있었는데 꽤 이상합니다. 이것은 다음과 같은 어셈블리로 컴파일 #include <alloca.h> #include <stddef.h> vol