반응형

c 26

빠른 고정점 power, log, expand sqrt

빠른 고정점 power, log, expand sqrt 저는 고정 포인트 클래스(10.22)가 있고 파워, sqrt, 확장 기능이 필요합니다. 아, 이 일을 어디서부터 시작해야 할지 모르겠어요.유용한 기사에 대한 링크를 제공하거나 코드를 제공할 수 있는 사람이 있습니까? exp 기능이 있으면 power와 sqrt를 구현하는 것이 비교적 쉬워진다고 가정합니다. pow( x, y ) => exp( y * log( x ) ) sqrt( x ) => pow( x, 0.5 ) 제 로그 규칙 중 몇 가지를 기억하는 것처럼, 다른 것은 많이 기억나지 않습니다. 아마도 sqrt와 pow에 대한 더 빠른 방법도 있을 것이므로 위에서 설명한 방법을 사용한다고 말해도 그 앞에 있는 어떤 포인터라도 감사할 것입니다. 참고:이..

programing 2023.09.11

N/2번 이상 반복되는 배열의 요소를 찾는 방법은?

N/2번 이상 반복되는 배열의 요소를 찾는 방법은? N개의 요소로 구성된 배열이 주어집니다.우리는 그 요소들 중 하나가 적어도 N/2번 반복된다는 것을 알고 있습니다. 우리는 다른 요소들에 대해서는 아무것도 모릅니다.반복될 수도 있고 유일할 수도 있습니다. 한 번의 패스로 최소 N/2회 반복되는 요소 또는 O(N)일 수 있는 요소를 알아낼 수 있는 방법이 있습니까? 여분의 공간은 사용할 수 없습니다.다른 사용자들이 이미 알고리즘을 올렸기 때문에 반복하지 않겠습니다.그러나 작동하는 이유에 대해 간단한 설명을 드립니다. 편광되지 않은 빛의 도표인 다음의 도표를 생각해 보십시오. 중앙의 각 화살표는 서로 다른 후보를 나타냅니다.카운터와 후보를 나타내는 화살표의 어딘가에 있는 점을 상상해 보십시오.처음에는 카운..

programing 2023.09.11

Win32에서 GCC로 어셈블리 기호에 선행 밑줄을 추가하시겠습니까?

Win32에서 GCC로 어셈블리 기호에 선행 밑줄을 추가하시겠습니까? 조립에 정의된 함수를 호출하는 C 코드 조각을 가지고 있습니다.예를 들어, fo.c가 다음을 포함한다고 가정해 보겠습니다. int bar(int x); /* returns 2x */ int main(int argc, char *argv[]) { return bar(7); } 그리고 bar.s는 x86 어셈블리에서 bar()의 구현을 포함하고 있습니다. .global bar bar: movl 4(%esp), %eax addl %eax, %eax ret 리눅스에서 나는 이 소스들을 다음과 같이 쉽게 컴파일하고 GCC와 연결할 수 있습니다. % gcc -o test foo.c bar.s % ./test; echo $? 14 MinGW를 사용..

programing 2023.09.11

배열을 memcpy 매개 변수로 코드화

배열을 memcpy 매개 변수로 코드화 하드코드된 문자 배열을 다음과 같이 전달하고 싶습니다.sourcememcpy에 대한 매개 변수...이와 같은 것: memcpy(dest, {0xE3,0x83,0xA2,0xA4,0xCB} ,5); clang으로 컴파일하면 다음 오류가 발생합니다. cccc.c:28:14: error: expected expression 다음과 같이 수정하는 경우(추가 괄호 참조): memcpy(dest,({0xAB,0x13,0xF9,0x93,0xB5}),5); clang이 제공하는 오류는 다음과 같습니다. cccc.c:26:14: warning: incompatible integer to pointer conversion passing 'int' to parameter of type ..

programing 2023.09.01

C에서의 반사 지원

C에서의 반사 지원 지원이 안 되는 건 알지만, 혹시 주변에 묘책이 있는지 궁금합니다.팁 있어요?일반적으로 반사는 프로그램이 일부 코드의 구조를 분석하는 수단입니다.이 분석은 코드의 효과적인 동작을 변경하는 데 사용됩니다. 분석으로서의 반사는 일반적으로 매우 약합니다. 일반적으로 함수와 필드 이름에 대한 액세스만 제공할 수 있습니다.이 취약성은 기본적으로 언어 구현자가 소스 코드에서 원하는 것을 추출하기 위한 적절한 분석 루틴과 함께 런타임에 전체 소스 코드를 사용할 수 없도록 하려는 경우에 발생합니다. 또 다른 접근법은 컴파일러가 하는 방식으로 소스 텍스트를 정확하게 구문 분석할 수 있는 강력한 프로그램 분석 도구를 사용하여 프로그램 분석을 직접 해결하는 것입니다.그러나 그것은 보통 작동하지 않습니다...

programing 2023.08.22

C 헤더 문제: #include 및 "정의되지 않은 참조"

C 헤더 문제: #include 및 "정의되지 않은 참조" 세 개의 파일을 가지고 있습니다main.c,hello_world.c,그리고.hello_world.h어떤 이유에서인지 간에 그들이 잘 정리되지 않은 것 같고, 왜 그런지 정말 모르겠어요... 여기 제 소스 파일들이 있습니다.첫 번째 hello_world.c: #include #include "hello_world.h" int hello_world(void) { printf("Hello, Stack Overflow!\n"); return 0; } 그러면 hello_world.h, 단순: int hello_world(void); 그리고 마지막으로 main.c: #include "hello_world.h" int main() { hello_world()..

programing 2023.08.17

이중 포인터를 사용하여 2차원 배열을 표현할 수 없는 이유는 무엇입니까?

이중 포인터를 사용하여 2차원 배열을 표현할 수 없는 이유는 무엇입니까? 이중 포인터를 사용하여 2차원 배열을 표현할 수 없는 이유는 무엇입니까? arr[2][5] = {"hello","hai"}; **ptr = arr; 여기서 이중 포인터(**ptr)가 이 예에서 작동하지 않는 이유는 무엇입니까?제가 그림을 그리려고 합니다. int array[10][6]; 그리고. int **array2 = malloc(10 * sizeof *array2); for (int i = 0; i < 10; ++i) array2[i] = malloc(6 * sizeof **array2); 기억 속의 모습과 그들이 어떻게 다른지 (그리고 그들은 서로에게 캐스팅될 수 없다는 것) array다음과 같은 모양: _ _ _ _ _ _..

programing 2023.08.07

getaddrinfo를 사용하여 정적으로 연결된 이진을 생성하시겠습니까?

getaddrinfo를 사용하여 정적으로 연결된 이진을 생성하시겠습니까? 헤더를 포함했습니다.netdb.h,어디에getaddrinfo에 포함되지만 gcc는 다음 경고를 표시합니다. warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking gcc -m32 -static -s -O2 -std=c99 -D_POSIX_C_SOURCE=200112L myprogram.c 누락된 파일을 정적으로 컴파일하려면 어떻게 해야 합니까? 가능한 해결책: glibc 설치에 정적 컴파일에 필요한 해당 개체 파일이 없을 수 있습니다..

programing 2023.08.02

Sundown이 블록 인용문(">"로 시작하는 줄)을 렌더링하려면 어떻게 해야 합니까?

Sundown이 블록 인용문(">"로 시작하는 줄)을 렌더링하려면 어떻게 해야 합니까? 어떤 이유로든 선다운(더 구체적으로는 Snudown, 포크의 하나)은 다음과 같은 라인을 출력하지 않는 것 같습니다. > some text HTML의 블록 인용처럼, 그래야 하는 것처럼, 유효한 마크다운입니다.Sundown에 특정 기능을 허용하는 확장 기능이 있다는 것은 알고 있지만 견적을 위한 확장 기능을 찾을 수 없습니다. 제가 사용하는 코드는 다음과 같습니다(목표-C에 있지만 대부분은 C입니다). struct sd_callbacks callbacks; struct html_renderopt options; const char *rawMarkdown = [markdownString cStringUsingEncodi..

programing 2023.07.13

C에서의 구조 직렬화 및 MPI를 통한 전송

C에서의 구조 직렬화 및 MPI를 통한 전송 사용자 지정을 정의했습니다.struct다른 MPI 프로세스로 전송해야 합니다.MPI_Bsend(또는)MPI_Send). 구조는 다음과 같습니다. struct car{ int shifts; int topSpeed; }myCar; 문제는 원시 유형을 제외하고 MPI가 위에 표시된 구조와 같은 복잡한 데이터 유형의 직접 "전송"을 지원하지 않는 것 같습니다.저는 "직렬화"를 사용해야 할 수도 있다고 들었습니다. 어떻게 접근하여 성공적으로 전송해야 합니까?myCar5번 프로세스로?예레미야 말이 맞아요 - MPI_Type_create_struct가 여기로 가는 길입니다. MPI는 언어에 내장된 라이브러리가 아니라 라이브러리라는 점을 기억하는 것이 중요합니다. 따라서 M..

programing 2023.07.08
반응형