ブックマーク / qiita.com/Raclamusi (3)

  • C++ コンパイル時「出力」で画像ファイル生成 - Qiita

    これでアセンブル時に好きな文字列が出力できますが、コンパイル時に計算した内容を指定して出力することはできません。 そこで、すべての出力しうる文字列についてそれぞれ出力のコードを用意し、コンパイル時に constexpr if でどのコードをアセンブリに出力するかを選択することで、コンパイル時計算の結果をアセンブリコードに反映します。 つまり、出力できる文字列が用意したものに限られます。 しかし、画像のビットマップデータの出力には、画素値を出力するコードを 256 個1用意しておけばよいので、さほど問題ではありません。 画像の幅、高さなどのヘッダに含まれる情報は、マクロで何とかしましょう(妥協)。 問題なのは、末尾に改行がつくことです。 画素ごとに出力すると、その間にいちいち改行が挿入されることになります。 つまり、コンパイル時に出力できる画像ファイルは、画素値同士が改行で区切られるようなフ

    C++ コンパイル時「出力」で画像ファイル生成 - Qiita
    natsutan
    natsutan 2023/12/23
    今年、村上さんの同人誌が届いたが、こうやって思いを受け継ぐ人がいるんだな・・・と感傷に浸ってる。
  • C++ コンパイル時パスワード認証 〜コードを不正コンパイルから守ろう!〜 - Qiita

    ラクラムシ「今回は C++ に関する内容ですね!」 謎の女性「どういった内容ですか?」 ラクラムシ「 C++ でコンパイル時にパスワードを要求する方法について説明していきます!」 謎の女性「よろしくお願いします!」 この記事では、C++ でコンパイル時にパスワードを要求する方法について説明します( UNIX 系の環境に限ります)。 コンパイル時パスワード認証 みなさんは、プログラミングをするときにソースコードを公開していますか? ソースコードを公開することで、ほかの人にバグを指摘してもらったり、新機能を提案してもらったりすることができます。 ソースコードを共有できるサイトはいろいろありますが、代表的なものに GitHub があります。 GitHub は無料で利用できるので、ソースコードを共有してみたいという人は使ってみましょう! しかし、「コードを見られるのはいいけど、勝手にコンパイルされ

    C++ コンパイル時パスワード認証 〜コードを不正コンパイルから守ろう!〜 - Qiita
    natsutan
    natsutan 2023/12/19
  • C++でコンパイル時にクリスマスツリーを出力してみた - Qiita

    コンパイル時文字列出力では相対座標指定でカーソルを動かしていたので、エラーメッセージの行数によって移動する行数を変えなければならず大変でした。 今回出力するのは画像であり、出力する位置が事前に決まっているので、カーソルの移動を絶対座標で指定します。 画素の出力は、エスケープシーケンスで背景色を変更してスペースを出力することで実現します。 あとは画素の各出力位置について「全部書く!」をするだけです。 コンパイル時乱数 ただクリスマスツリーを出力するだけというのも面白くないので、コンパイルするたびにオーナメントの位置や色が変わるようにします。 乱数生成は適当に Xorshift で実装するとして、問題となるのはシード値(初期値)の決定です。 ここで、 C 言語で乱数のシード値を設定するときにどんなことをしているかを思い出してみましょう。 おそらく、 srand(time(NULL)) などのよ

    C++でコンパイル時にクリスマスツリーを出力してみた - Qiita
    natsutan
    natsutan 2022/12/26
    “上の実行結果の動画を Twitter に投稿したら、アカウントをロックされました。 なんで?”なんで?
  • 1