프로그래밍 QnA

세벌의 이미지

소수인지 아닌지 알려주는 프로그램?

어떤 수를 입력하면 그 수가 소수인지 아닌지 알려주는 프로그램을 찾아 봤습니다. 구글에게 물어보니
http://www.math.com/students/calculators/source/prime-number.htm 이런 게 나오네요.
123456789123456789
가 소수인가 아닌가 해보니... It is divisible by 2. 라고 나오네요. 한 눈에 봐도 짝수는 아닌데...

아주 큰 숫자를 넣더라도 소수인지 아닌지 제대로 알려주는 프로그램은 어떻게 만들면 될까요?

프로그램언어별로 다양한 답이 나올 것 같네요 :)

goilho의 이미지

".sh" 문자만 들어가면 cat .sh 자동실행이 되버립니다. ㅠ

shell 프로그래밍공부중인데 제가 뭘 잘못설정했는지

실행시켜야할 파일 1234.sh 이면
sh 1234.sh 실행하면

cat sh 1234.sh 이렇게 실행이 되버립니다.

ls -l 1234.sh 실행하면 또

cat ls -l 1234.sh 실행이 되구요 ㅜ

제가 뭘 잘못 한건지 더 답답하네요

dltkddyd의 이미지

basic_ostream<wchar_t> 로 선언이 안 됩니다.

ostream 헤더를 인크루드 해서 basic_ostream 타입의 객체를 선언했는데 해당 생성자가 protected 영역에 있다는 컴파일 오류 메시지가 출력됩니다. 작성한 코드는 다음과 같습니다.

#include <ostream>
using namespace std;
#include "bom.h"
 
int main() {
        basic_ostream<wchar_t> ee;
	return 0;
}

basic_ostream의 operator<<을 오버로딩해서 사용하려 하는데요. 생성자가 protected라면 오버로딩할 수가 없잖아요. 방법이 없을까요? 레퍼인가?

milk901의 이미지

C++ 오류가 뜨는데 이 오류의 원인이


컴파일을 해봤을떄 에러 메세지가 다음과 같이 뜨더군요 ...

error C2248: 'str' : cannot access private member declared in class 'String'
see declaration of 'str'

char * 형으로 선언한 str은 friend 선언을 해줘서 허용이 된다고 생각하는데 왜 이게 오류가 발생하는지 알려주시면
감사하겠습니다..

String.h

#ifndef __STRING_H__
#define __STRING_H__

#include "BankingCommonDecl.h"

seojh1431의 이미지

MFC 코딩 질문입니당

void CcryDlg::OnBnClickedButtCry()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
int temp;


UpdateData(TRUE);

temp=BinaryStringToInterger(m_EditOne);// m_EditOne이 문자열이니까 정수형으로 바꿔주는 함수를 사용해서 temp에 넣어줍니다

temp=temp^10100101; //temp와 XOR 연산해서 temp에 다시 대입

itoa(temp, m_EditTwo,10); <--- 여기서 오류가 뜨는군요. temp를 10진수로 문자열로 변형시켜 m_EidTwo 에 넣어줄라고하는데 오류 ㅡㅡ;;

gyunn의 이미지

critical section 문제를 공부하는데 너무 이해가 안되네요..

몇번을 생각해봐도 잘 모르겠습니다..

do {
flag[i] = true; //Critical Section 진입준비
while (flag[j]) ;// 다른프로세스의상태점검
critical section
flag [i] = false; // 자신의상태변경
remainder section
} while (1);

dltkddyd의 이미지

cpu의 종류에 따라 문서의 BOM이 다른가요?

데이터를 어떤 순서로 기록하는지를 문서의 선두에 표시해둔 것을 BOM이라고 하던데요. 인텔계열은 cpu가 리틀 엔디언 방식으로 메모리에 배열하고 그 외의 cpu는 빅 엔디언 방식으로 메모리에 배열하는 것으로 알고 있습니다. 그런데 BOM은 오히려 빅 엔디언을 나타냅니다. 제가 인텔 cpu 컴퓨터에서 utf32 문서를 열어서 BOM을 읽어봤더니

0x 00 00 FE FF

입니다. 이런 값의 BOM은 빅엔디언이라고 하던데요. cpu는 리틀 엔디언이라고 하는데 BOM은 빅 엔디언으로 출력됩니다. 이 처리하는 방식이 서로(cpu와 문서에서) 같아야 되는 것 아닌가요? 다를 수 있다면 그 이유가 뭔지 궁금합니다.

leadha의 이미지

printf 에서 char를 %02x로 출력하는데 음수의 경우 int 처럼 출력됩니다.

char* ptr=addr

printf("%02x",*(ptr+i));
printf("%02x",ptr[i]);

양쪽 모두 해당 바이트가 0xff 일때 ffffffff 로 출력되더군요.

ptr을 unsigned char* 로 선언해주면 정상적으로 ff 가 뜹니다.
이유를 모르겠는데 혹시 답변을 주시거나 참고할만한 것을 알려주시면 감사하겠습니다.

Samuro의 이미지

Operation System Concepts 원서보면서 공부하는데 커널모듈 만들기에서 막혀서 질문 올립니다.

환경은 vmware player로 돌리는 페도라20이고 커널버젼은 3.14입니다.
처음에는 gcc로 컴파일하니 linux/init.h가 없다고 하여 gcc -I usr/src/...... simple.c 디렉터리 지정을 해줬는데
그다음엔 asm/linkage가 없다고 해서 커널 include디렉토리 안에다가 arch/x86/include에 있는 asm디렉토리 링크를 만들어서 복사하여 해결 하였습니다.
그뒤로도 헤더파일을 못찾는 no such file or directory 에러는 전부 같은식으로 해결 하였습니다.

그리고 컴파일을 하니 엄청나게 에러가 나서, 또 알아보니 c++로 짠 코드때문에 그렇다고 하여 g++ -I /usr/src/..... simple.c로 컴파일하였습니다.
에러코드가 많이 줄긴 했는데 여전히 에러가 나네요. 도대체 어찌해야 하는지... 리눅스를 기존에 다뤄본 경험이 거의 없이 바로 운영체제공부를 하니 힘든점이 많네요.

아래는 코드입니다.

babbab의 이미지

frontend winapi

윈도우에서 어떤 프로그램(gdb, program.exe, shell interpreter)의 gui frontend나 wrapper를 만들고 싶은데
어떤 winapi를 써야될지 모르겠습니다. 이 분야에 알고 계신분이 있다면 어떤 winapi를 써야되는지 아니면
어디서부터 시작해야 되는지 손가락으로 가르켜 주시기라도 하면 고맙겠습니다.

페이지

프로그래밍 QnA 구독하기