반응형

C 66

JNI를 사용하여 Java에서 C로 데이터 유형 전달(또는 그 반대)

JNI를 사용하여 Java에서 C로 데이터 유형 전달(또는 그 반대) JNI를 사용하면 사용자 지정 데이터 유형을 Java에서 C로 전달할 수 있습니까?원시 데이터 유형을 C의 유형으로 매핑하는 것을 볼 수 있지만 자체 데이터 유형 간에 전송할 수 있는지는 확실하지 않습니다(예: Employee 개체를 가로채거나 반환합니다!).많은 물체를 가지고 이것을 할 것이라면, Swig와 같은 것이 가장 좋을 것입니다.작업 개체 유형을 사용하여 사용자 지정 개체를 전달할 수 있습니다.구문이 좋지 않아요, 아마 더 좋은 방법이 있을 거예요. 예제 Employee 개체: public class Employee { private int age; public Employee(int age) { this.age = age;..

programing 2023.10.28

운영 체제 컴파일 시간

운영 체제 컴파일 시간 이것은 일반적인 질문입니다. 저는 앉아서 컴파일할 소프트웨어를 기다리고 있었습니다(여기서는 인크레디빌드를 사용하지만 10분/15분이 걸릴 수 있음). 그래서 의문이 생겼습니다. Windows XP나 Vista를 컴파일하는 데 얼마나 걸렸는지 아는 사람이 있습니까? 구글 검색을 좀 해봤지만 유용한 정보를 찾지 못했습니다.OP가 Windows에 대해 묻고 있습니다. Lucovsky는 "이와 같은 소프트웨어 프로젝트는 없습니다. 하지만 [수년에 걸쳐] 일정하게 유지되는 것은 [Windows]를 구축하는 데 걸리는 시간입니다.어떤 세대의 제품이든 시스템을 컴파일하고 연결하는 데 12시간이 걸립니다."수년간 처리 마력이 증가했음에도 불구하고 Windows는 그에 걸맞게 성장했으며 개발 프로..

programing 2023.10.28

커널 스레드란?

커널 스레드란? 저는 장치 드라이버 코딩을 막 시작했고 스레드를 처음 접했고 스레드에 대한 아이디어를 얻기 위해 많은 문서를 검토했습니다.저는 아직도 약간의 의심이 듭니다. 커널 스레드란 무엇입니까? 사용자 스레드와 어떻게 다릅니까? 두 실 사이의 관계는 무엇입니까? 커널 스레드를 구현하려면 어떻게 해야 합니까? 구현 결과를 어디서 볼 수 있습니까? 누가 나를 도와줄 수 있나요?감사해요. 커널 스레드는task_struct사용자 공간 구성 요소가 없습니다. 사용자 공간이 부족한 것 외에도 조상이 다릅니다 (kthreadd대신 커널 스레드initprocess) 및 커널 전용 API에 의해 생성됩니다.clone부터fork/exec시스템 호출. 두 개의 커널 스레드가kthreadd부모로서그에도 커널 는 사용자 ..

programing 2023.10.23

C 구조를 선언하는 구문론적으로 적절한 방법은 무엇입니까?

C 구조를 선언하는 구문론적으로 적절한 방법은 무엇입니까? 전에 C structs가 여러 가지 다른 방법으로 선언된 것을 본 적이 있습니다.그것은 왜 그리고 만일 무엇이 있다면, 각자가 하는 일이 다릅니까? 예를 들어, struct foo { short a; int b; float c; }; typedef struct { short d; int e; float f; } bar; typedef struct _baz { short a; int b; float c; } baz; int main (int argc, char const *argv[]) { struct foo a; bar b; baz c; return 0; } 명백한 차이는 당신이 보여주는 것처럼main: struct foo a; bar b; ba..

programing 2023.10.23

C++로 아두이노를 프로그래밍하는 방법

C++로 아두이노를 프로그래밍하는 방법 문 닫았습니다.이 질문은 더 많아야 합니다.집중력이 있는현재 답변을 받지 않고 있습니다. 이 질문을 개선하고 싶으십니까?이 게시물을 편집하여 한 가지 문제에만 초점을 맞추도록 질문을 업데이트합니다. 10년 전에 문을 닫았습니다. 이 질문을 개선합니다. 그래서 최근에 아두이노를 가지고 놀고 있는데 C++에서 아두이노를 프로그래밍할 수 있는 방법이 없을까 생각했습니다.Vim에서 C++/Processing 언어로 프로그래밍을 하고 makefile로 컴파일하여 아두이노에 업로드하고 있습니다. 하지만 저의 목표는 수업과 모든 훌륭한 C++ 기능들(또는 적어도 합)을 사용하여 프로그래밍하는 것입니다.결국 저는 그것을 원시 C로 프로그래밍하고 싶을 뿐이고 저는 둘 중 하나를 하..

programing 2023.10.23

함수 매개변수의 세미콜론

함수 매개변수의 세미콜론 matrix_* matrix_insert_values(int n; double a[][n], int m, int n) { matrix_* x = matrix_new(m, n); for (int i = 0; i v[i][j] = a[i][j]; return x; } 검사 행렬 예제 double in[][3] = { { 12, -51, 4}, { 6, 167, -68}, { -4, 24, -41}, { -1, 1, 0}, { 2, 0, 3}, }; 길을 좀 잃었어요, 뭐가 뭔지 모르겠어요.int n;제 주장 선언 안에 있습니다. C 위에서 작동하지만 C++는 이 구현을 허용하지 않습니다.저는 이 코드를 C++로..

programing 2023.10.23

리눅스: sig_atomic_type이 int로 지정되는 이유는 무엇입니까?

리눅스: sig_atomic_type이 int로 지정되는 이유는 무엇입니까? 내 리눅스 박스에,sig_atomic_t평범한 늙은이입니다.int. 도ints특별한 원자질을 가지고 있습니까? $ gcc -v Using built-in specs. Target: x86_64-linux-gnu ... Thread model: posix gcc version 4.3.2 (Debian 4.3.2-1.1) $ echo '#include ' | gcc -E - | grep atomic typedef int __sig_atomic_t; typedef __sig_atomic_t sig_atomic_t; C99sig_atomic_tC99는 동시성의 개념이 없고 중단성만 있기 때문에 매우 약한 "원자성"의 정의에만 부합합니다..

programing 2023.10.23

구조물의 함수

구조물의 함수 구조물에 함수가 포함될 수 있습니까?아니요, 하지만 함수 포인터를 포함할 수 있습니다. 만약 당신의 의도가 C에서 어떤 형태로든 다형성을 하려는 것이라면, 예, 다음과 같이 할 수 있습니다. typedef struct { int (*open)(void *self, char *fspec); int (*close)(void *self); int (*read)(void *self, void *buff, size_t max_sz, size_t *p_act_sz); int (*write)(void *self, void *buff, size_t max_sz, size_t *p_act_sz); // And data goes here. } tCommClass; 그typedef위는 제가 범용 통신 라이브러..

programing 2023.10.23

+=, |=, &= 등이 원자입니까?

+=, |=, &= 등이 원자입니까? 이 질문에는 이미 다음과 같은 답변이 있습니다. num++는 'intnum'의 원자가 될 수 있습니까? (13개 답변) 닫힘3년 전에. "수정" 연산자는 다음과 같습니까?+=,|=,&=원자력? 알고있어요++is atomic (수행하는 경우)x++;두 개의 다른 스레드에서 "simultane적으로" 당신은 항상 결국x반대로 2가 증가했습니다.x=x+1(최적화를 해제한 상태에서) 내가 궁금한 것은?variable |= constant, 그런 것들은 실을 안전하게 보호해야 하나요 아니면 뮤텍스로 보호해야 하나요? (...아니면 CPU 의존형입니까?이 경우 ARM에는 어떤 상태입니까?)당신의 생각이 틀렸습니다.++가 원자라는 보장은 없으며, 복합 할당 연산자나 C++ 연산자..

programing 2023.10.23

MS Visual Studio 컴파일러에서 사용할 수 있는 C99 기능은 무엇입니까?

MS Visual Studio 컴파일러에서 사용할 수 있는 C99 기능은 무엇입니까? 마이크로소프트의 비주얼 스튜디오 컴파일러는 C99를 지원하지 않는 것으로 잘 알려져 있으며, 이를 지원할 계획은 없는 것으로 보입니다. 그러나 컴파일러는 가변 매크로와 같은 체리 픽 기능을 포함합니다.long long- 이 답변의 인용문을 참조하십시오. 특정 C99 기능에 대한 많은 요청을 받은 곳에서 구현을 시도했습니다.몇 가지 예로 다양한 매크로를 들 수 있습니다.long long,__pragma,__FUNCTION__,그리고.__restrict 작업에 유용한 다른 C99 기능이 있다면 알려주세요!저희 C 사용자들로부터는 소식이 별로 없으니 말씀을 크게 하시고 직접 말씀을 해주십시오. -- ISO C 표준 위원회의 ..

programing 2023.10.18
반응형