프로그래밍 QnA + 설치 및 활용 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 가 뜹니다.
이유를 모르겠는데 혹시 답변을 주시거나 참고할만한 것을 알려주시면 감사하겠습니다.

negabaro의 이미지

KVM네트워크 구성

https://kldp.org/node/119629

여기 위키자료를 보면 KVM네트워크 구성하는 방법이

NAT 방식
Private Virtual Bridge
Public Bridge

이 세가지 인것같은데 외부에서 게스트os에 접근하는게 NAT방식과 Private Virtual Bridge 은 왜안되는건가요??

오직 public bridge만이 외부에서 내부로 악세스가 되는건가요?
public bridge도 포트포워딩을 이용해서 악세스 하는것같은데 다른 2방식은 왜 포트포워딩이 안되는건지 이해가잘안되네요

그리고

글로벌아이피(iptime) -> kvm설치한 우분투OS(호스트192.168.0.17) -> centos설치한 게스트os (192.168.111.11)

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로 컴파일하였습니다.
에러코드가 많이 줄긴 했는데 여전히 에러가 나네요. 도대체 어찌해야 하는지... 리눅스를 기존에 다뤄본 경험이 거의 없이 바로 운영체제공부를 하니 힘든점이 많네요.

아래는 코드입니다.

페이지

프로그래밍 QnA + 설치 및 활용 QnA + 질문 구독하기