반응형

전체 글 2757

C 비 차단 키보드 입력

C 비 차단 키보드 입력 사용자가 키를 누를 때까지 반복되는 C (Linux) 프로그램을 작성하려고하지만 각 반복을 계속하기 위해 키를 누르지 않아도됩니다. 이를 수행하는 간단한 방법이 있습니까? 나는 그것을 할 수 있다고 생각 select()하지만 그것은 많은 일처럼 보입니다. 또는, 잡을 수있는 방법이있다 ctrl- c프로그램이 대신 비 차단 IO의 닫기 전에 정리를 할의 키는? 이미 언급했듯이 sigactionctrl-c select를 트랩하거나 표준 입력을 트랩하는 데 사용할 수 있습니다 . 그러나 후자의 방법을 사용하면 TTY를 설정하여 한 번에 한 줄씩 모드가 아닌 한 번에 한 문자로 설정해야합니다. 후자는 기본값입니다. 텍스트 줄을 입력하면 Enter 키를 누를 때까지 실행중인 프로그램의 표..

Development Tip 2020.10.19

C에 "디자인 패턴"이 있습니까?

C에 "디자인 패턴"이 있습니까? 디자인 패턴은 일반적으로 OO 프로그래밍과 관련된 것임을 알고 있지만 C를 프로그래밍 할 때 자주 사용하는 패턴이 있습니까? 나는 고전적인 OO 패턴의 간단한 번역에 관심이 없으며 Duff의 장치에 대해서는 언급하지 마십시오. ;-) 내가 가장 좋아하는 것은 Adam Tornhill 의 "Patterns in C"시리즈입니다 . 일류 ADT 상태 전략 관찰자 반응기 또한 : 나는 항상 goto데코레이터 패턴을위한 훌륭한 가난한 사람의 도구 라고 생각 합니다. 업데이트 : c를 사용해야하는 경우를 제외하고는 C 대신 Rust ( rust-lang.org )를 사용하는 것이 좋습니다 . Rust는 속도와 c와의 바이너리 라이브러리 호환성을 포함하여 c의 모든 이점을 가지고 ..

Development Tip 2020.10.19

Highcharts-redraw () 대 새로운 Highcharts.chart

Highcharts-redraw () 대 새로운 Highcharts.chart 하이 차트 차트를 업데이트하는 올바른 방법을 이해하는 데 어려움을 겪고 있습니다. 차트를 렌더링 한 다음 어떤 방식 으로든 업데이트하고 싶다고 가정합니다. 예를 들어, 데이터 시리즈의 값을 변경하거나 dataLabels를 활성화 할 수 있습니다. 현재이 작업을 수행하는 방법을 알아낼 수있는 유일한 방법은 차트 옵션을 변경하고 new Highcharts.chart하이 차트 에 다시 그리도록 지시하는 것입니다. 그러나 이것이 과잉 일 수 있고 처음부터 시작하지 않고도 차트 '현장'을 변경할 수 있는지 궁금합니다 new Highcharts.chart. 나는이 알 redraw()방법은,하지만 난 그것을 얻이 수없는 것. 어떤 도움이라..

Development Tip 2020.10.19

객체 지향 C ++ 코드 용 C 래퍼 API 개발

객체 지향 C ++ 코드 용 C 래퍼 API 개발 저는 우리의 핵심 로직 (객체 지향 C ++로 작성된)에 액세스하기 위해 기존 C ++ API를 감싸는 C API 세트를 개발하려고합니다. 이것은 본질적으로 C ++ 로직을 다른 언어에서 사용할 수 있도록하는 글루 API입니다. 객체 지향 C ++ 주위에 C를 래핑하는 것과 관련된 개념을 소개하는 좋은 튜토리얼, 서적 또는 모범 사례는 무엇입니까? 이것은 손으로하기가 너무 어렵지 않지만 인터페이스의 크기에 따라 달라집니다. 내가 한 경우는 순수한 C 코드 내에서 C ++ 라이브러리를 사용할 수 있도록하는 것이었기 때문에 SWIG는별로 도움이되지 않았습니다. (글쎄, SWIG를 사용하여이 작업을 수행 할 수는 있지만 저는 SWIG 전문가가 아니며 사소한 것..

Development Tip 2020.10.19

grep regex 공백 동작

grep regex 공백 동작 다음과 같은 내용이 포함 된 텍스트 파일이 있습니다. 12,34 EUR 5,67 EUR ... 'EUR'앞에 공백이 하나 있고 0, XX EUR는 무시합니다. 나는 시도했다 : grep '[1-9][0-9]*,[0-9]\{2\}\sEUR' => didn't match ! grep '[1-9][0-9]*,[0-9]\{2\} EUR' => worked ! grep '[1-9][0-9]*,[0-9]\{2\}\s*EUR' => worked ! grep '[1-9][0-9]*,[0-9]\{2\}\s[E]UR' => worked ! 내가 사용하는 수없는 이유를 누군가가, pls는 저를 설명 할 수 \s있지만 \s*와 \s[E]일치? 운영체제 : Ubuntu 10.04, grep v2...

Development Tip 2020.10.19

BASH에서 mv를 사용하여 파일 이름에 타임 스탬프 추가

BASH에서 mv를 사용하여 파일 이름에 타임 스탬프 추가 글쎄, 나는 리눅스 초보자이고 간단한 bash 스크립트에 문제가 있습니다. 실행되는 동안 로그 파일에 추가하는 프로그램이 있습니다. 시간이 지남에 따라 로그 파일이 커집니다. 각 실행 전에 로그 파일의 이름을 바꾸고 이동하여 프로그램의 각 실행에 대해 별도의 로그 파일을 효과적으로 만드는 시작 스크립트를 만들고 싶습니다. 지금까지 얻은 내용은 다음과 같습니다. 페이스트 빈 DATE=$(date +"%Y%m%d%H%M") mv server.log logs/$DATE.log echo program 실행하면 다음이 표시됩니다. : command not found program logs 디렉토리로 이동하여 dir을 실행하면 다음과 같이 표시됩니다. 20..

Development Tip 2020.10.19

이 솔루션 구성을 위해 빌드 할 프로젝트가 선택되지 않았습니다.

이 솔루션 구성을 위해 빌드 할 프로젝트가 선택되지 않았습니다. 오류: >------ Skipped Deploy: Project: DrawShape.Android, Configuration: Debug Any CPU ------ >Project not selected to build for this solution configuration 구성 관리자의 구성이 올바른 것 같습니다. 이것은 내가 구축하려는 프로젝트의 코드입니다. https://github.com/chrispellett/Xamarin-Forms-Shape 내가 지금까지 시도한 것 : 모든 CPU에서 x86 및 그 반대로 변경. 빌드 확인란을 false로 설정 한 다음 다시 true로 설정합니다. 으로 코왈 스키는 말했다, 당신은 구성 관리자..

Development Tip 2020.10.19

scanf가 C에서 버퍼 오버플로를 일으키는 것을 방지하는 방법은 무엇입니까?

scanf가 C에서 버퍼 오버플로를 일으키는 것을 방지하는 방법은 무엇입니까? 이 코드를 사용합니다. while ( scanf("%s", buf) == 1 ){ 임의 길이의 문자열을 전달할 수 있도록 가능한 버퍼 오버플로를 방지하는 가장 좋은 방법은 무엇입니까? 예를 들어 다음을 호출하여 입력 문자열을 제한 할 수 있다는 것을 알고 있습니다. while ( scanf("%20s", buf) == 1 ){ 하지만 사용자가 입력 한 모든 것을 처리 할 수 ​​있기를 원합니다. 아니면 scanf를 사용하여 안전하게 수행 할 수 없으며 fgets를 사용해야합니까? Kernighan과 Pike는 저서 The Practice of Programming (읽을 가치가 있음)에서이 문제를 논의하고 함수 패밀리에 snp..

Development Tip 2020.10.19

IE 호환 모드를 프로그래밍 방식으로 비활성화하려면 어떻게합니까?

IE 호환 모드를 프로그래밍 방식으로 비활성화하려면 어떻게합니까? 나는 한동안 이것에 갇혀 있었다-나는 왜 웹 사이트가 두 개의 동일한 버전의 Internet Explorer에서 다르게 렌더링되는지 알 수 없었다. 30 분 전에 IE에서 호환성 모드 버튼을 발견했는데 정말 화가났습니다. 호환성 모드를 비활성화하면 문제가 해결되었습니다. 프로그래밍 방식으로, 즉 웹 페이지에서 비활성화하는 방법이 있습니까? 편집하다: 방금이 블로그 https://blogs.msdn.com/b/askie/archive/2009/03/23/understanding-compatibility-modes-in-internet-explorer-8.aspx를 발견했습니다. 기사를 읽은 후 예제 코드를 게시하겠습니다. "이전"렌더링을 원..

Development Tip 2020.10.19

인텔 마이크로 코드 란 무엇입니까?

인텔 마이크로 코드 란 무엇입니까? 내가 읽은 내용에서 BIOS를 수정하지 않고 CPU의 버그를 수정하는 데 사용됩니다. 어셈블리에 대한 기본 지식에서 어셈블리 명령이 CPU에 의해 내부적으로 마이크로 코드로 분할되고 그에 따라 실행된다는 것을 알고 있습니다. 그러나 인텔은 시스템이 실행되는 동안 일부 업데이트를 수행 할 수있는 액세스 권한을 제공합니다. 누구든지 그들에 대한 더 많은 정보를 가지고 있습니까? 마이크로 코드로 수행 할 수있는 작업과이를 사용하는 방법에 대한 문서가 있습니까? 편집 : 나는 위키피디아 기사를 읽었습니다. 내가 직접 작성할 수있는 방법과 그것을 사용하는 방법을 알지 못했습니다. 예전에는 마이크로 코드가 CPU에서 많이 사용되었습니다. 모든 명령이 마이크로 코드로 분할되었습니다..

Development Tip 2020.10.19
반응형