C 언어로 작성된 소스 코드는 대부분의 운영 체제에서 동작할 수 있습니다. 따라서 우분투 및 윈도우에서 동시에 동작하는 C 언어 소스 코드를 작성하는 것은 일반적으로 어렵지 않습니다. 하지만 특정 운영 체제에 의존하는 기능을 사용하는 경우 해당 운영 체제에서만 동작할 수 있습니다. 다음은 우분투 및 윈도우에서 동시에 동작하는 C 언어 소스 코드를 작성하는 방법에 대한 몇 가지 지침입니다: 1. 플랫폼 독립적인 코드 작성: - 가능한 경우, 플랫폼에 의존하지 않는 코드를 작성하세요. 플랫폼 독립적인 함수 및 라이브러리를 사용하여 모든 운영 체제에서 동작하도록 하세요. 2. 조건부 컴파일 사용: - 운영 체제에 따라 다른 동작을 수행해야 하는 경우, 조건부 컴파일 지시문을 사용하여 특정 운영 체제..
llvm-프로젝트 GitHub - llvm/llvm-project: The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. - llvm/llvm-projectgithub.com - Clang: LLVM 위에 구축된 C/C++/Objective-C 컴파일러.- LLVM(Low-Level Virtual Machine): 재사용할 수 있는 모듈러 컴파일러 툴체인- LLVM은 컴파일러 인프라스트럭처- 문제점 : 용량이 너무 크다 Cl..
Objective-C는 Apple의 macOS 및 iOS 운영 체제에서 주로 사용되는 프로그래밍 언어입니다. Objective-C는 초기에 NeXT 컴퓨터에서 개발된 언어로, 현재는 Apple이 macOS 및 iOS 애플리케이션 개발을 위해 사용하는 언어 중 하나입니다. Objective-C의 장점 1. 간결한 문법과 동적인 특성 - Objective-C는 Objective-C 메시지 전달과 같은 동적인 특성을 통해 유연하고 간결한 코드를 작성할 수 있습니다. 2. C 언어 호환성 - Objective-C는 C 언어의 모든 기능을 포함하고 있어, 기존의 C 코드와의 호환성이 뛰어나며 C 언어로 작성된 라이브러리를 쉽게 통합할 수 있습니다. 3. 객체 지향 프로그래밍 - Objective-C는 객체 지향 ..
https://gist.github.com/Tomwi/3842231 fix_fft.cGitHub Gist: instantly share code, notes, and snippets.gist.github.com/* FIX_MPY() - fixed-point multiplication & scaling. Substitute inline assembly for hardware-specific optimization suited to a particluar DSP processor. Scaling ensures that result remains 16-bit. */ inline short FIX_MPY(short a,short b) { /* shift right one less bit (i.e. 15-1) *..
//UTF-8 -> UNICODE -> CP949 void strcpy_UTF8(char *buf,char *s)//max=1024 { if(buf)if(s) { wchar_t bufw[1024]; MultiByteToWideChar(CP_UTF8,0,s, -1,bufw,1024); WideCharToMultiByte(CP_ACP,0,bufw, -1,buf,1024,NULL,NULL); } } void myprintf(char *fmt,...) { char buf[4096]; // 버퍼 크기는 필요에 따라 조절 가능 va_list args; va_start(args, fmt); vsprintf(buf, fmt, args); va_end(args); OutputDebugString(buf); Sleep(1..
uSD 32G : 13.3Mbyte/sec USB 64G : 11.6Mbyte/sec
"open()" 함수와 "fopen()" 함수는 각각 파일을 열기 위한 시스템 콜과 C 라이브러리 함수입니다. 이 두 함수는 목적이 조금 다르며, 성능과 메모리 사용량에는 일반적으로 차이가 있습니다. 1. 성능 차이 - "open()" 함수는 파일 디스크립터를 반환하며, 파일을 열 때 사용됩니다. 이는 시스템 콜로 직접 커널에 접근하는 방식이므로 더 낮은 수준의 동작을 합니다. - "fopen()" 함수는 파일 스트림을 반환하며, 라이브러리 함수이기 때문에 좀 더 높은 수준의 추상화를 제공합니다. - 일반적으로 "open()" 함수가 더 빠르지만, 상황에 따라서는 "fopen()" 함수의 편의성이 더 중요할 수 있습니다. 2. 메모리 사용량 - "open()" 함수는 파일 디스크립터만을 반환하므로 메모리..
몇글자 빼고는 모두 똑같은 코드인데, 문자열이나 함수명등에 일부 글자만 변경해서 여러개의 코드를 만드는 매크로 예) 입출력 포트 함수와 변수를 10개씩 만들어야하는데, 일일이 다 작성하기 너무 귀찮고 많음. #include // 매크로를 통해 여러 개의 코드를 생성하는 예제 #define GENERATE_CODE_WITH_NUMBER(NUM) \ void myFunction##NUM() { \ printf("This is function number %d\n", NUM); \ } \ char myString##NUM[] = "This is string number " #NUM; // 특정 숫자에 대해 코드 생성 GENERATE_CODE_WITH_NUMBER(1) GENERATE_CODE_WITH_NUMB..
open()는 파일을 여는 함수이고, 윈도우와 리눅스에서 모드 사용이 가능하다고 합니다. 윈도우에서는 _open()와 같은 함수를 제공합니다. 아래와 같은 매크로를 사용하여, 윈도우와 리눅스에서 모두 사용이 가능합니다. #ifdef _WIN32 #include #define open _open #define close _close #define read _read #define write _write #else #include #include #endif 파일을 열 때 사용되는 몇 가지 주요 플래그들은 다음과 같습니다: O_RDONLY: 읽기 전용으로 파일 열기. O_WRONLY: 쓰기 전용으로 파일 열기. O_RDWR: 읽기 및 쓰기 모두 가능한 파일 열기. O_CREAT: 파일이 없을 경우 새로 생성..
할일이 없어서 만드는건 아니다. KDP에 올려보려고 만들고 있다. 그런데,.... 내용이 졸라x9999999999999999999 많다... 이렇게 많은 줄 생각도 못했다... 이 내용을 다 알아야 제대로는 아니더라도, 문제가 덜 생기는 효율이 좋은 프로그램 작성이 가능해진다. 뭐 요새는 효율대신, "빨리"가 대세이긴 하다... 이렇게 많은 공부를 해서 프로그래머로 살아가고 있는데, 공부한거에 비하면, 급여는 너무 초라해 보인다. 물론, 다른 업종 전문직 종사자라면 다 그럴테지만... 요약 : 쉬운게 없다.