반응형

C 100

SQLite 소스 코드 읽기를 어디서 시작해야 합니까?

SQLite 소스 코드 읽기를 어디서 시작해야 합니까? 문 닫았습니다.이 질문은 더 많아야 합니다.집중력이 있는현재 답변을 받지 않고 있습니다. 이 질문을 개선하고 싶으십니까?이 게시물을 편집하여 한 가지 문제에만 초점을 맞추도록 질문을 업데이트합니다. 8년 전에 문을 닫았습니다. 이 질문을 개선합니다. sqlite가 어떻게 구현되는지 알고 싶습니다.그리고 source code를 읽고 싶습니다 (이미 source를 다운로드 했습니다).코드의 어느 부분부터 확인해야 합니까?SQLite 설명서 페이지에는 SQLite 내부에 대한 기사와 함께 SQLite Technical/Design Documentation이라는 훌륭한 섹션이 있습니다.소스코드 자체를 읽기 전에 읽고 이해하는 것이 중요하다고 생각합니다. 수..

source 2023.09.26

C에서 카레를 할 수 있는 방법이 있습니까?

C에서 카레를 할 수 있는 방법이 있습니까? 합니다 에 대한 해 보겠습니다._stack_push(stack* stk, void* el). 나는 전화할 수 있기를 원합니다.curry(_stack_push, my_stack)다만 하면 수 .void* el않기 수 보다 훨씬 것을 C는 런타임 함수 정의를 허용하지 않기 때문에 방법을 생각할 수 없었지만 여기에는 나보다 훨씬 똑똑한 사람들이 있다는 것을 알고 있습니다 :).무슨 생각 있어요?C/C++/Objective-C에서 카레에 대해 논하는 Laurent Dami의 논문을 발견했습니다. C/C++/Objective-c에서 Curryed 기능으로 재사용성 향상 C에서 구현하는 방법에 관심이 있습니다. 우리의 현재 구현은 기존의 C 컨스트럭트를 사용하여 커리 메..

source 2023.09.26

C의 빅인터?

C의 빅인터? C에서 엄청난 숫자를 처리하는 가장 쉬운 방법은 무엇입니까?영역에 값을 저장해야 합니다.1000^900, 사람이 읽을 수 있는 형태로10^2700. 누구 쉬운 방법을 아는 사람 있습니까?어떤 도움이라도 주시면 정말 감사하겠습니다!libgmp 사용: GMP는 부호가 있는 정수, 유리수 및 부동 소수점 숫자에서 작동하는 임의의 정밀 연산을 위한 무료 라이브러리입니다.정밀도에는 GMP가 실행되는 기계의 사용 가능한 메모리에 내포된 것 외에는 실질적인 제한이 없습니다. 버전 6 이후, GMP는 듀얼 라이선스, GNU LGPL v3 및 GNU GPL v2로 배포됩니다... GMP의 주요 대상 플랫폼은 GNU/리눅스, 솔라리스, HP-UX, 맥 OS X/다윈, BSD, AIX 등과 같은 유닉스 유형 ..

source 2023.09.21

'&'을 'scanf' 문에 넣지 않으면 어떻게 됩니까?

'&'을 'scanf' 문에 넣지 않으면 어떻게 됩니까? 저는 인터뷰를 하러 갔었고, 그 자리에서 다음과 같은 질문을 받았습니다. 다음 사항에 대해 어떻게 생각하십니까? int i; scanf ("%d", i); printf ("i: %d\n", i); 나는 이렇게 대답: 프로그램이 성공적으로 컴파일됩니다. 번호를 잘못 인쇄하지만 충돌하지 않고 끝까지 실행됩니다. 제가 했던 대답이 틀렸습니다.저는 압도당했어요. 그 후 그들은 나를 해고했습니다. 프로그램이 충돌하여 코어 덤프로 이어질 수 있습니다. 프로그램이 중단되는 이유를 이해할 수 없었습니다.누가 이유를 설명해 줄 수 있습니까?어떤 도움이든 감사히 받겠습니다.변수가 정의되면 컴파일러는 해당 변수에 대한 메모리를 할당합니다. int i; // The c..

source 2023.09.16

C와 어셈블리 소스를 혼합하고 cmake로 빌드

C와 어셈블리 소스를 혼합하고 cmake로 빌드 저는 어셈블리 코드와 C 소스 파일을 혼합한 avr-gcc 프로젝트를 구축하기 위해 이클립스를 사용하고 있습니다.이클립스의 자동 메이크 파일 생성을 없애고 싶습니다. 메이크 파일에 대한 일부 프로세스를 자동화해야 하기 때문입니다. 저는 예전에 cmake를 사용한 적이 있어서 만족스러웠기 때문에 그것을 사용하여 제 소스 파일을 컴파일해보고 싶습니다.모든 것이 C 소스로 예상대로 실행됩니다.문제는 마지막에 몇 개의 어셈블리 파일(실제 2개)을 컴파일하여 대상에 추가해야 한다는 것입니다. 제가 검색을 해봤는데 방법을 못 찾았어요. 이거 어떻게 하는지 아시는 분 있어요? 문제는 이클립스에 -x 어셈블리 위드 cpp가 있다는 것입니다. gcc 인수 목록에 추가되었습..

source 2023.09.01

경고: 할당은 캐스트 없이 포인터의 정수를 만듭니다.

경고: 할당은 캐스트 없이 포인터의 정수를 만듭니다. 내가 선언할 때char *다른 문자열을 가리키기 위해 포인터를 다시 사용합니다. /* initial declaration */ char *src = "abcdefghijklmnop"; ..... /* I get the "warning: assignment makes integer from pointer without a cast" */ *src ="anotherstring"; 포인터를 다시 캐스트하려고 했지만 성공하지 못했습니다.그 표현은*src전체 문자열이 아닌 문자열의 첫 번째 문자를 나타냅니다.재할당하기src다른 문자열을 가리키다tgt,사용하다src = tgt;.명세서를 작성할 때 *src = "anotherstring"; 컴파일러는 상수 문자열..

source 2023.08.27

자체 수정 코드를 사용하여 x86에서 오래된 명령 페칭을 관찰

자체 수정 코드를 사용하여 x86에서 오래된 명령 페칭을 관찰 인텔의 설명서에서 메모리에 명령어를 쓸 수 있다는 말을 듣고 읽었지만, 명령어 프리페치 대기열은 이미 오래된 명령어를 가져왔고 이전 명령어를 실행할 것입니다.저는 이 행동을 관찰하는 데 실패했습니다.저의 방법론은 다음과 같습니다. 인텔 소프트웨어 개발 매뉴얼은 섹션 11.6부터 다음과 같이 기술하고 있습니다. 프로세서에 현재 캐시된 코드 세그먼트의 메모리 위치에 쓰기를 수행하면 연결된 캐시 라인이 무효화됩니다.이 검사는 지침의 실제 주소를 기반으로 합니다.또한 P6 제품군 및 Pentium 프로세서는 코드 세그먼트에 쓰기가 실행을 위해 미리 페치된 명령을 수정할 수 있는지 여부를 확인합니다. 쓰기가 프리페치된 명령어에 영향을 미치는 경우 프리..

source 2023.07.23

쉬운 zlib 튜토리얼에는 어떤 것들이 있나요?

쉬운 zlib 튜토리얼에는 어떤 것들이 있나요? 닫힘.이 질문은 책, 도구, 소프트웨어 라이브러리 등에 대한 권장 사항을 찾는 것입니다.충족되지 않습니다.스택 오버플로 지침입니다.현재 답변을 수락하고 있지 않습니다. 책, 도구, 소프트웨어 라이브러리 등에 대한 추천을 구하는 질문은 허용되지 않습니다.질문에 사실과 인용문으로 답변할 수 있도록 질문을 편집할 수 있습니다. 2년 전에 문을 닫았습니다. 이 질문을 개선합니다. 저는 zlib에 대한 좋은 튜토리얼을 찾고 있습니다.저는 기록 보관소의 압축을 푸는 것에만 관심이 있습니다.또한 zlib로 가능하다면 파일 이름만으로 아카이브 내에서 원하는 파일에 액세스할 수 있는 방법을 알고 싶습니다.많은 zlib 기사, 팁 및 튜토리얼이 있습니다.그들 중 몇몇은 보보..

source 2023.07.23

C에 대한 최소 해시 함수?

C에 대한 최소 해시 함수? 나는 C를 고수해야 하고 C++을 사용할 수 없기 때문에 boost:hash를 사용할 수 없습니다. 그러나 토큰 문자열(5~40바이트 길이)을 대량(10K~100k)으로 해시해야 검색 속도가 빨라집니다. MD5, SHA1 또는 긴 해시 함수는 단순한 작업에 비해 너무 무거운 것 같습니다. 암호화를 수행하지 않습니다.또한 스토리지 및 컴퓨팅 비용도 있습니다. 그러므로 나의 질문은: 가장 실제적인 경우 충돌 방지를 보장하는 가장 간단한 해시 알고리즘은 무엇입니까? 해시 값에 사용할 비트 수는 얼마입니까?저는 32비트 시스템을 개발하고 있습니다.Perl/Python의 해시 알고리즘도 32비트 해시를 사용합니까?아니면 64까지 뛰어야 하나요? 일반적인 스크립트 언어로 해시 테이블을 ..

source 2023.07.13

Qt Creator에서 CDB를 구성하는 방법은 무엇입니까?

Qt Creator에서 CDB를 구성하는 방법은 무엇입니까? 여기 질문은 저와 동일하지만 해결책이 저에게 맞지 않습니다.Windows 7에서 QtCreator 2.4.1을 사용하고 있습니다.간단한 hello world 앱을 디버깅하려고 하면 "'x86-windows-msvc2010-pe-32bit' 유형의 바이너리를 디버깅하기 위한 기본 디버거 엔진을 사용할 수 없습니다...세부사항:'x86-windows-msvc2010-pe-32bit' 형식의 이진 파일에 사용할 수 있는 CDB 이진 파일이 없습니다. 시스템에 cdb.exe가 없다는 것을 알았을 때 디버거 도구와 함께 Windows SDK가 설치되어 있었고 cdb.exe의 현재 위치는 "C:\프로그램 파일(x86)\Windows 키트 8.0\Debug..

source 2023.07.13
반응형