kone
코딩해요
코딩해요

C 8byte hello world

05/23/2025, 07:39:34
C/C++
7504 views · 3 likes
#include <unistd.h>

struct b5
{
    unsigned int i0 : 5;
    unsigned int i1 : 5;
    unsigned int i2 : 5;
    unsigned int i3 : 5;
    unsigned int i4 : 5;
    unsigned int i5 : 5;
} const stream[] = { {0x4, 0x1, 0x8, 0x8, 0xB, 0x14}, {0x13, 0xB, 0xE, 0x8, 0x0, 0x15} };

#define B5AT_1(o, index) (o.i##index)
#define B5AT_2(o, i, dex) dex == i ? B5AT_1(o, i) :
#define B5AT_3(o, i) B5AT_2(o, 0, i)B5AT_2(o, 1, i)B5AT_2(o, 2, i)B5AT_2(o, 3, i)B5AT_2(o, 4, i)B5AT_2(o, 5, i)0
#define B5AT(o, i) (B5AT_3(o, i))

unsigned char b5ToCh(const struct b5 arr, const unsigned char index)
{
    unsigned char ch = B5AT(arr, index);
    switch( ch )
    {
        case 0x14: return ' ';
        case 0x15: return '\n';
        default: return ch + 'd';
    }
    return '\0';
}

#undef B5AT
#undef B5AT_1
#undef B5AT_2
#undef B5AT_3

#define ARR_FOR(type, it, arr) for( type * it = arr ; it != arr + sizeof( arr ) / sizeof ( type ) ; it ++ )

int main() {
    char ch;
    ARR_FOR(struct b5, it, stream) for(int i = 0; i < 6; i++) ch = b5ToCh(*it, i), write(STDOUT_FILENO, &ch, 1);
    return 0;
}

#undef ARR_FOR


8바이트 정도인걸 출력하는 구문도 만들려다가 간결한 코드가 복잡해지는 것 같아서 제외했음


ch = sizeof( stream ) + '0'; write(STDOUT_FILENO, &ch, 1);


정도로 짧게 가능한데 뭔가 그러면 안되는 느낌임

참고로 폰으로 제작했음, 앱에서 unistd 그대로 지원하는것 보고 write 쓸려고 박은셈

3
8 comments
05/23/25
ㄷㄷ 이 귀찮은걸
05/23/25
8바이트 이내에 된다는 것을 알았다면 그냥 unsigned long long을 쓸껄 그랬음
05/23/25
#include<unistd.h> struct B{int i0:6;int i1:6;int i2:6;int i3:6;int i4:6;}s[]={ {0,1,2,3,4},{5,0,6,2,7},{0,8,9,10,11},{12,0,13,2,10},{14,15,3,16,17},{0,18,19,0,20},{15,21,0,0,0}}; #define A(o,x)(o.i##x) #define B(o,i,d)d==i?A(o,i): #define C(o,i)B(o,0,i)B(o,1,i)B(o,2,i)B(o,3,i)B(o,4,i)0 #define D(o,i)(C(o,i)) char*m="\xEC\xA0\x9C\xEA\xB2\x8C\x99\x20\x9D\xB4\xEB\x9F\xAC\x8B\x8A\x94\xB1\xB0\x97\x90\x9A\x3F"; main(){char c;int k=0;for(;k<32;k++)c=m[D(s[k/5],k%5)],write(1,&c,1);}
05/23/25 Edited 05/23/25
두렵다
05/25/25
#include<unistd.h> char*m="ABCDEFAGCHAIJKLMANCKOPDQRASTAUPV\xEC\xA0\x9C\xEA\xB2\x8C\x99\x20\x9D\xB4\xEB\x9F\xAC\x8B\x8A\x94\xB1\xB0\x97\x90\x9A\x3F"; main(){for(int i=0;i<32;)write(1,m+m[i++]-33,1);} 그냥 재미삼아서 글자수 줄이는 방향으로 해봤는데 더 줄일 방법 모르겠음
05/23/25
개추
05/24/25
이게머노
burpsuite 테스트 패킷 몇번 쏴봤는데
일반
illilillill
06/13/25 2668 0
C++ 이거 머임?
C/C++
얄랄랄루
06/11/25 3508 0
여기챈은 거의 현직종사자들임?
일반
danto
06/11/25 3920 1
kotlin hello world
기타언어
comi-soft
06/09/25 2814 0
rust hello world
Rust
comi-soft
06/09/25 2089 0
java hello world
Java
comi-soft
06/08/25 2686 0
조회수가 왜 높아지는걸까?
일반
comi-soft
06/08/25 3133 0
C 사칙 연산이 없는 세계에서 사칙연산 코드
C/C++
comi-soft
06/06/25 4017 0
아 걍 다시 짜야겠다
C/C++
Rohthis_
06/06/25 3664 0
F# Hello, World!
기타언어
jyunni
06/05/25 2811 0
여기 abap 하는 사람도 있나?
일반
unnaned0
06/02/25 2252 0
어떻게 하면 프로그래머를 괴롭히는 문제를 만들수 있을까?
C/C++
hss9205
06/01/25 3648 0
c list -> array function
C/C++
comi-soft
06/01/25 2640 1
Unity도 C#이니까 여기다 적어도 되겠지....?
C#
신군
05/31/25 2508 5
나도 코딩하고 싶어서 맥북 샀었는데
일반
Rohthis_
05/31/25 2700 0
코딩 공부하려고 노트북도 샀음!!
일반
shashasha
05/30/25 2241 0
파이썬 해보고 있는데 흥미롭네요
PY
shashasha
05/30/25 3372 0
폰허브에 올라온 수학강의를 보는 느낌이네
일반
nananatsume2
05/29/25 3630 0
SKT 유심 재설정은 유심 교체와 완전히 다르다
📰
binary는 호남선
05/29/25 6088 5
간단한 풀스택 요청사항 바이브코딩으로 쳐냈는데 미쳤네
바이브코딩
Ghost
05/27/25 5788 1
UserId vs UserID
일반
머드락
05/27/25 4882 2
코네 마크다운 지원하는거 호감이다
일반
kafufu
05/26/25 4209 1
XSS 테스트 글 2트
🔐
binary는 호남선
05/26/25 3234 1
우와 코딩서브도 있네
일반
parrot
05/26/25 3045 0
난 요즘 업무하는데 바이브 코딩 많이 쓰는 듯
일반
ㅇㅇ
05/26/25 2971 0
C const char* -> string, hello world
C/C++
comi-soft
05/24/25 7218 0
북마크 테스트
일반
05/24/25 3537 0
바이브 코딩은 아니고.. 바이브 피드백 많이 하는듯
바이브코딩
elnamu
05/23/25 6034 0
C 8byte hello world
C/C++
comi-soft
05/23/25 7504 3
사용자 페이지에 최근 글/댓글 목록 API 생김
일반
Ghost
05/22/25 3201 0