반응형

C 100

32비트 정수가 오버플로우 했을 경우 64비트 길이 구조가 아닌 40비트 구조를 사용할 수 있습니까?

32비트 정수가 오버플로우 했을 경우 64비트 길이 구조가 아닌 40비트 구조를 사용할 수 있습니까? 들어 32비트 정수는 업그레이드되지 .int로로 합니다.long2 내의40 범위만 필요한 경우 40비트 타입을 사용하여 모든 정수에 대해 24비트(64-40)를 절약할 수 있습니까? 만약 그렇다면, 어떻게? 나는 수십억을 처리해야 하고 공간은 더 큰 제약이다.수십억 개의 정수를 처리해야 하는 경우 40비트 숫자 대신 40비트 숫자를 배열로 묶는 것이 좋습니다.이렇게 하면 코드의 나머지 부분을 변경하지 않고도 다양한 어레이 구현(예를 들어 데이터를 즉시 압축하는 구현 또는 사용량이 적은 데이터를 디스크에 저장하는 구현)을 테스트할 수 있습니다. 다음은 구현 예시입니다(http://rextester.com/..

source 2022.09.01

왜 국회에서 프로그램이 더 자주 작성되지 않는가?

왜 국회에서 프로그램이 더 자주 작성되지 않는가? 현재 이 질문은 Q&A 형식에 적합하지 않습니다.우리는 답변이 사실, 참고 자료 또는 전문지식에 의해 뒷받침되기를 기대하지만, 이 질문은 토론, 논쟁, 여론 조사 또는 연장된 토론을 요구할 것이다.이 질문이 개선되고 다시 열릴 수 있다고 생각되면헬프센터를 방문하여 안내를 받으십시오. 닫힘9년 전. 잠겼습니다. 이 질문과 답변은이 질문은 부적절하지만 역사적 의미가 있기 때문에 잠겨 있습니다.현재 새로운 답변이나 상호작용을 받아들이지 않고 있습니다. 조립 프로그래밍은 C와 같은 고급 언어보다 시간이 오래 걸리고 프로그래밍이 더 어렵다는 것이 주류 의견인 것 같습니다.따라서, 이러한 이유와 휴대성이 뛰어난 이유로, 보다 높은 레벨의 언어로 기술하는 것이 추천 ..

source 2022.08.31

단언은 악인가?

단언은 악인가? 현재 이 질문은 Q&A 형식에 적합하지 않습니다.우리는 답변이 사실, 참고 자료 또는 전문지식에 의해 뒷받침되기를 기대하지만, 이 질문은 토론, 논쟁, 여론 조사 또는 연장된 토론을 요구할 것이다.이 질문이 개선되고 다시 열릴 수 있다고 생각되면헬프센터를 방문하여 안내를 받으십시오. 닫힘9년 전. Go언어 작성자: 바둑은 주장을 제시하지 않는다.매우 편리합니다만, 지금까지의 경험에 의하면, 프로그래머는, 에러 처리나 보고의 적절한 방법을 생각하지 않기 위해서, 그것들을 목발로서 사용해 왔습니다.적절한 에러 처리는, 크래시가 아니고, 치명적이지 않은 에러 후에 서버가 동작을 계속하는 것을 의미합니다.적절한 에러 리포팅은, 에러가 직접적이고 요점을 나타내고 있기 때문에, 프로그래머가 큰 크래..

source 2022.08.31

tilde(~) 연산자의 역할은 무엇입니까?

tilde(~) 연산자의 역할은 무엇입니까? 나는 최근에 위의 연산자를 코드에서 보고 검색해봤지만 아무것도 찾지 못했다.코드는 다음과 같습니다.이 오퍼레이터가 실제로 어떤 일을 하는지 설명해 주세요. #include int main() { unsigned long int i=0; char ch; char name1[20],name2[20]; FILE *fp,*ft; printf("ENTER THE SOURCE FILE:"); gets(name1); printf("ENTER THE DESTINATION FILE:"); gets(name2); fp=fopen(name1,"r"); ft=fopen(name2,"w"); if(fp==NULL) { printf("CAN,T OPEN THE FILE"); } whi..

source 2022.08.31

C에서 다중 정의를 방지하려면 어떻게 해야 합니까?

C에서 다중 정의를 방지하려면 어떻게 해야 합니까? 저는 C 초보자이고, Code::로 콘솔 어플리케이션을 작성하려고 했습니다.블록. (간소화된) 코드는 다음과 같습니다: main.c: #include #include #include "test.c" // include not necessary for error in Code::Blocks int main() { //t = test(); // calling of method also not necessary return 0; } test.c: void test() {} 이 프로그램을 빌드하려고 하면 다음 오류가 발생합니다. *path*\test.c|1|'_test'의 정의 표시|obj\Debug\main.o:*path*\test.c|1|여기서 처음 정의|..

source 2022.08.29

libc 없는 컴파일

libc 없는 컴파일 (g)libc를 사용하지 않고 C-코드를 컴파일합니다.비활성화하려면 어떻게 해야 하며 어떤 기능이 이에 따라 달라집니까? nostdlib을 시도했지만 도움이 되지 않습니다.코드는 컴파일 가능하며 실행되지만 실행 파일의 16진수 덤프에서 libc 이름을 찾을 수 있습니다.코드를 컴파일 할 경우-nostdlibC 라이브러리 함수를 호출할 수는 없지만(물론), 일반 C 부트스트랩 코드도 얻을 수 없습니다.특히, Linux에서 프로그램의 실제 시작점은main()라고 하는 기능이 있습니다._start()표준 라이브러리는 보통 일부 초기화 코드를 실행하고 콜을 실행하는 버전을 제공합니다.main(). 이 컴파일을 사용해 보세요.gcc -nostdlib -m32: void _start() { /..

source 2022.08.29

소켓 프로그래밍의 INADDR_ANY에 대해서

소켓 프로그래밍의 INADDR_ANY에 대해서 의 소켓을 있기 에서는 「소켓」을 .따라서 서버 측에서는htonl(INADDR_ANY)제가 알기론 이 함수는 랜덤 IP를 생성하는 것 같습니다(맞습니까?).저는 제 을 제 소켓으로 .localhost 이 '이'를 ' printf("%d",htonl(INADDR_ANY)); 반환값으로 0을 받습니다.누가 설명 좀 해주시겠어요? bind()INADDR_ANY는 랜덤 IP를 생성하지 않습니다.소켓을 사용 가능한 모든 인터페이스에 바인드합니다. 서버의 경우 일반적으로 "localhost"뿐만 아니라 모든 인터페이스에 바인드해야 합니다. 은 "localhost" 입니다.my_sockaddress.sin_addr.s_addr = inet_addr("127.0.0.1")..

source 2022.08.28

헤더에 #include를 사용해야 합니까?

헤더에 #include를 사용해야 합니까? 하나요?#include일부 파일(헤더(*.h) 내에 있는 경우)이 파일에 정의되어 있는 타입이 사용되고 있습니까? 를 들어, 를 하고, 「」, 「GLib」를 는,gchar되어 있는 요?#include '*.c'는 '*.c'로, '*.c'는 '*.c'로? '네'라고 '네'와 '네' 요.#ifndef ★★★★★★★★★★★★★★★★★」#define 그 #defineC에 있는 헤더에 대한 NASA의 Goddard Space Flight Center(GSFC; 고다드 우주 비행 센터) 규칙은 소스 파일에 유일한 헤더로 헤더를 포함할 수 있어야 하며, 그 헤더가 제공하는 기능을 사용하는 코드를 컴파일합니다. 즉, 헤더는 자급자족하고 idempotent하며 최소여야 합니다...

source 2022.08.28

vim에 C가 있는 자동 삽입 공간?

vim에 C가 있는 자동 삽입 공간? 이클립스와 자바 사용으로 좀 버릇이 없었어요.Linux 환경에서 vim을 사용하여 C코딩을 시작했는데 vim이 자동으로 적절한 블록 간격을 지정하도록 하는 방법이 있습니까? 그러면 {}을 입력한 후 다음 행에 2개의 공백이 들어가고 해당 행에 반환하면 동일한 공백이 유지되며 }은(는) 2개의 공백으로 다시 이동합니까?다음 2개의 명령어로 실행할 수 있습니다. :set autoindent :set cindent 보너스 포인트는 Linux 홈디렉토리에 있는 .vimrc라는 파일에 저장합니다.저는 vim에 탭에 대한 모든 내용을 적었습니다. 여기에는 여러분이 묻지도 않은 몇 가지 흥미로운 정보가 있습니다.중괄호를 자동으로 들여쓰려면: :set cindent 공백 2개를 들..

source 2022.08.28
반응형