프로그래밍 QnA + 설치 및 활용 QnA

bommy의 이미지

논리 연산자의 우선순위/계산

안녕하세요! c 처음 배우는 대학생입니다
논리 연산자라는 것을 공부하면서 의문점이 생겨 질문드립니다ㅠㅠ

- 논리 연산자의 우선순위
x = y = z = 1;
result = ++x || ++y && ++z;

의 식에서 &&이라는 논리 연산자가 ||이라는 논리 연산자보다 우선순위가 높기 때문에
저는 ||보다 (++y && ++z)의 식이 먼저 계산될 것이라고 생각했지만, ++x || ++y를 먼저 연산한
결과가 나왔습니다... 저는 프로그래밍이 항상 우선순위에 따라서 연산이 되는 것이라고 생각했는데
왜 왼쪽부터 계산한 결과가 나오는 것인가요??

+) ||이나 &&이 시퀀스 포인트로써의 역할을 하기 때문에, ||이전에서 식이 연산되어야 하기에
우선순위가 무시된 것이고, 시퀀스 포인트로써 기능하지 않는 연산자들의 우선순위는 제가 원래
생각했던 것처럼 연산의 우선순위를 정해주는 역할을 하는 것인가요??

bommy의 이미지

c언어undefined behavior

안녕하세요,, 대학교 1학년 전필 과목으로 c언어를 듣고 있는 학생입니다.
수업 내용 중에서 sequence point와 undefined behavior에 대한 내용이 나왔는데,
undefined behavior가 제대로 이해되지 않아 질문드립니다 ㅠㅠ

제가 이해한 바로는 undefined behavior는 컴파일러에 따라서 실행 결과가 다르게 나와
이식성을 떨어뜨리기에 사용하지 않는 편이 좋다는 것인데요,

예를 들어, a = i + i++; 식의 문장에서 후위수식연산자가 우선순위가 가장 높기에 먼저 실행되지만,
i값에 1이 더해지는 side effect는 sequence point 이전까지만 실행되면 될 뿐, 정확한 순서까지는
알 수 없기 때문에 컴파일러에 따라서 a = (i+1) + i이 되거나, a = i + i이 될 수 있다는 것입니다.
(맞나요?ㅠㅠ)

제 교수님께서는 수업에서 후위수식연산자에 대해서만 다루셨는데, 전위수식연산자는 어떤 식으로 처리되는지
궁금합니다..

익명 사용자의 이미지

GUI 사용자 리스트 설정 방법 좀 알려주세요.

CentOS 7 입니다.

GUI 로그인시 사용자 ID 리스트가 너무 많이 떠서 수정하고 싶은데

어디를 수정해야 할지 모르겠습니다.

로그인 사용자 선택 말고, 계정을 직접 입력하여 root로 로그인이 필요한 경우가 있는데...

(특정 솔루션이, GUI 설치모드로만 메뉴얼을 작성해두고, root권한이 필요하다고 해서....)

사용자 리스트에는 일단 root 계정은 보이지 않고

많은 설명글에 나오는 "Not listed " 옵션도 보이지 않아..

정확히는 보이지 않는 것인지 화면의 사용자 리스트가 아래위로 꽉차 해당 기능을찾을 수도 없네요.

tlswldnjs410의 이미지

Makefile 초보자 질문드립니다.

안녕하세요, 간단한 코드인 것 같은데 makefile 을 처음 사용해보는지라
검색 끝에 이렇게 질문하게 되었습니다.
자꾸 undefined reference to `main' 라는 오류가 뜨는데 어떻게 해결해야 할까요?
아래는 코드입니다.

 
//main 함수
#include "Header.h"
 
void main() {
	int arr,res[10],t;
	scanf("%d",&t);
    	for(int i=0;i<t;i++){
        	scanf("%d",&arr);
        	count(arr);
        	output();
    	}
 
}

helloong의 이미지

Solaris cc to a Linux gcc 컴파일 오류

안녕하세요? 궁금한게 있어서 질문 드립니다.
기존 SPARC Solaris 환경에서 컴파일하여 사용하던
오래된 c소스를 x86 64bit linux 머신의 gcc 환경으로 변경 컴파일 하려고 합니다.

Linux 머신에서 아래와 같이 gcc를 사용하여 컴파일 하려고 하면 struct in_addr 부분에서
에러가 나는것 같은데 어떤 에러인지 아시는분 계실까요?

# gcc -g -m64 -D_REENTRANT -D_SOL10 -I./ -I/usr/include -I/usr/local/include -g -m64 -L/usr/lib -lrt -lnsl -lsocket -lpthread -o watchdog watchdog.c logger.c unisock.c conf.c common.c unicrypt.c aes.c seed.c base64.c

임동규컴퓨터공학전공@Google의 이미지

우분투 에러 질문입니다.

라즈베리파이용 우분투 20.04.4LTS 서버입니다.
컴파일중 에러입니다.

error: '_IO_UNBUFFERED' undeclared (first use in this function)

오류어떻게 해야하나요..
_IO_LINE_BUF도 에러에요

헤더는 stdio.h, stdlib.h 주었어요

pos06083의 이미지

소켓 클라이언드 connect에서 자꾸 에러가 납니다 ㅠㅠ

안녕하세요 최근 c언어로 소켓프로그래밍을 이용해 공부하며 클라이언트 프로그램 만들고 있습니다.
문제는 클라이언트랑 서버는 이더넷으로 연결 해뒀는데 이더넷 선이 뽑혀도 대기하고있다가 선이 연결되면 다시 재접속되게 하려는데 connect API에서 자꾸 에러가 납니다.
인자가 잘못 전달 되는거같기는 한데 Address family not supported by protocol에러가 발생합니다.

아직 공부중이라 코드에 문제가 많을 수 있음 감안하고 봐주세요 ㅠㅠ
여기는 main 부분입니다.

tms320c5x의 이미지

Qemu+busybox rootfs+원격디버깅 guest장치 gdbserver 명령실행 문제

안녕하세요. hw와 비 리눅스쪽 sw개발하다 늦게 리눅스 관련 공부하는 개발자입니다. 리눅스분야는 쉬운게 하나 없네요. 그동안 편한 환경에서 개발했다는 생각이 들기도 하지만, 목적하는 개발전에 지치네요.
제 환경은, 노트북에 윈도우7과 멀티부팅으로 나눠 우분투 20.04.3을 설치했고, 디바이스드라이버를 공부하는 중인데,
그러려면 타겟이 있어야 해서 Qemu를 이용하여 추가 장치를 만들어 학습 하려는데 잘 안되네요. 설치등은 구글링해서 하고 있는데요 요약하면
목적 : 임베디드 hw에서 리눅스 디바이스드라이버 작성/디버깅
-> arm..등으로 해보고 싶지만 초보라 일단은 호스트(우분투)와 같은 x86_64를 vm 장치로 시작
. 호스트: 원래 있던 노트북(우분투리눅스)
. 타겟(게스트): 호스트에서 Qemu로 생성. 호스트 커널소스로부터 만든 리눅스이미지(bzImage)로 부팅
후 타겟에서 특정 응용프로그램을 실행하고 호스트에서 원격디버깅 하려는 것임

hunterspin의 이미지

c관련해서 도와주세요 ㅠ

- fork 함수를 사용해서 프로세스를 4개 생성한다.

- 부모 프로세스는 자식 프로세스의 pid를 배열("int pid_array[5]")에 보관한다.

- 자식 프로세스는 생성후에 sleep()함수를 이용하여 5초에서 20초 사이에서 랜덤하게 sleep한다.

- 잠에서 깨어난 후에 exec 함수를 사용해서 ps, ls, df, cal를 각각 수행시킨다.

- 자식 프로세스가 종료하면 부모 프로세스는 배열에 저장된 자식 프로세스의 아이디를 출력시키고 종료한다.

이걸 해야되는데 제대로 나오지가 않네여 ㅠㅠ

#include
#include
#include
#include
#include

int main()
{
pid_t pid;
int pid_array[4];
int status;
int pid_child;
int time;

페이지

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