コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2017年4月19日 >>> 2017年4月6日
link もっと後

2017年4月19日

includeディレクティブの謎の文法

目次: C言語とlibc

C/C++ 言語のヘッダをインクルードする#includeディレクティブには2つの指定方法があります。1つは #include <cstdio> のように山括弧で囲う方法、もう1つは #include "cstdio" のように二重引用符で囲う方法です。

このうち山括弧で囲う方は少し変わった文法規則になっており、ファイル名に '>' や改行を指定できない特徴があります。詳細は下記の通りです。

#include <...> の文法規則
N3797 Working Draft, Standard for Programming Language C++ より

----

control-line:
  # include pp-tokens new-line
  (...略...)

pp-tokens:
  preprocessing-token
  pp-tokens preprocessing-token

preprocessing-token:
  header-name    ★これ
  identifier
  pp-number
  character-literal
  user-defined-character-literal
  string-literal
  user-defined-string-literal
  preprocessing-op-or-punc
  each non-white-space character that cannot be one of the above

header-name:
  < h-char-sequence >    ★これ
  " q-char-sequence "

h-char-sequence:
  h-char
  h-char-sequence h-char

h-char:
  any member of the source character set except new-line and >

注目すべきは文字列リテラルと異なり、エスケープ規則がないことです。エスケープしようとして \> と書いても「バックスラッシュと山括弧」と認識されてしまい '>' を指定したことになりません。

従って、もしヘッダのファイル名に '>' が含まれていると、#include "..." ではインクルードできるのに、#include <...> ではインクルードできない、変なヘッダファイルになってしまいます。C/C++ 言語の制約と言えば制約ですけど、そんな変なヘッダ名を付ける人は居ないので、ほぼ実害はありません。

規格書を見ると、header-nameは #include専用と言って良いほどの特殊な文法です。何気なく使っている #includeの意外な一面を見た気がします。

編集者:すずき(2023/02/04 20:39)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2017年4月18日

新しいマザーボードが動かない - Amazonに交換してもらった

目次: 自宅サーバー

目次: Kindle

先日(2017年4月16日の日記参照)の続きです。

全く起動しなくなったASRock J4205-ITXを初期不良で交換してもらうべく、ASRockのサポートフォームから質問してみましたが、全く返事が来ず途方に暮れていました。

もうどうしようも無いので、ダメ元でAmazonのカスタマサービスに泣きついてみたところ、事情を考慮して交換に応じて頂けるとのこと。さすがAmazonさん。

冤罪の可能性を消したい

交換までしてもらって、実はマザーボードの故障ではなく、奇跡の確率でメモリが2つとも不良品だったらどうしよう?この期に及んでメモリも交換してださい、なんて絶対言えないだろ……などと若干不安に思っていました。

しかし、目の前にあるノートPC (ThinkPad Edge E420) はSandyBridgeなCore i5マシンです。DDR3 1333 SODIMMが使えます。つまりこのノートPCを使えば新しく買ったメモリの動作テストができます。

今思えば1週間もASRockのマザーと闘うくらいなら、最初からノートPCにブッ差せば良かったです。こんな初歩的なことに気づいていなかったとは不覚。

早速、ノートPCの裏蓋を剥がしメモリを差し替えました。拍子抜けするほどあっさりWindows 10が起動しました。やはりメモリは壊れておらず、マザーボードの故障で間違いなさそうです。良かっ…いや、壊れているから良いというのも変か、だけど、何だかホッとしました。

メモ: 技術系の話はFacebookから転記しておくことにした。追記もした。

編集者:すずき(2025/06/09 01:50)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2017年4月16日

新しいマザーボードが動かない - 完全に動かなくなった

目次: 自宅サーバー

先日(2017年4月5日の日記参照)の続きです。

ASRock J4205-ITXが完全にお亡くなりになりました。ついにDDR 1枚差しでもUEFIが起動しなくなりました(※)。マザーボードを交換してほしいですが、Amazonの初期不良対応を見ると、メーカー担当者の名前を書けとあります。

しかし2週間前にメールしたASRockのサポートには完全に無視されていて、書きようがありません。どうしたら良いんでしょう。困りました。

色々頑張った(※)記録

DDRは2枚ありますがどちらを差しても、ウンともスンとも言いません。以前はこの状態に陥ってもCMOSクリアでなんとか起動していました(当然、設定は全部やりなおし)が、それすらもダメでした。

電源は2種類試したけど起動しません。電源の故障ではありません。ディスプレイは他のマシンに差せば映るので、ディスプレイでもありません。残るはマザーボードとメモリしかないので、マザーボードの初期不良、もしくは、メモリ2枚同時の初期不良しか考えられません。

しかしメモリの線は薄いと思います。1つならまだしも2つ同時に初期不良はありえないです。ほぼ間違いなくマザーボードがイカれてます。

メモ: 技術系の話はFacebookから転記しておくことにした。

編集者:すずき(2025/06/09 01:48)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2017年4月10日

HDD刷新

Western Digital WD Red (WD40EFRX-RT2) を買いました。Amazonで18,000円です。

ファイルサーバのHDDがほぼ付けっぱなしで2年ほど経つので、そろそろ壊れても不思議じゃ無いなあと思って、買い換えました。

WD40EFRXは、末尾に何も付かない型番と、RT2が付く型番があります。どちらも同じ容量4TBですが、プラッタ1枚の容量が異なり、無印は1TBプラッタx 4、RT2は1.33TBプラッタx 3 なのだとか。へえー。

WD RedはNAS向けと銘打っており5,400rpmの省エネ&長寿命仕様です。プラッタ枚数が少ない方が軽くてより省エネだろうから、RT2で良かったのでしょう。きっと。目に見えるほど違いがあるかは知りませんけども。

安いけど驚異の故障率で有名になってしまったSeagate Barracuda 7200.14 ST3000DM001と入れ替えました。これで家の3.5インチHDDは全部Western Digitalになりました。

メモ: 技術系の話はFacebookから転記しておくことにした。追記もした。

編集者:すずき(2017/04/12 01:15)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2017年4月19日 >>> 2017年4月6日
link もっと後

管理用メニュー

link 記事を新規作成

<2017>
<<<04>>>
------1
2345678
9101112131415
16171819202122
23242526272829
30------

最近のコメント5件

  • link 20年8月16日
    すずきさん (07/01 01:11)
    「そうですね。残念ながら私には向いてなかっ...」
  • link 20年8月16日
    ざんねんさん (06/29 17:12)
    「ゲーム内容を理解していない人の残念な雑記」
  • link 24年6月17日
    すずきさん (06/05 23:32)
    「Thnaks for your info...」
  • link 24年6月17日
    Bobさん (06/04 09:25)
    「BindIPv6Only=no does...」
  • link 18年8月12日
    すずきさん (05/29 16:57)
    「コメントありがとうございます。\n\nこ...」

最近の記事20件

  • link 23年5月15日
    すずき (07/01 02:15)
    「[車 - まとめリンク] 目次: 車三菱FTOの話。群馬県へのドライブ1群馬県へのドライブ2将来車を買い替えるとしたら?FTO...」
  • link 13年3月25日
    すずき (07/01 02:15)
    「[免許の更新と車のレッカー] 目次: 車前回の免許更新は免許センターまで行ったのですが、遠いわ、混んでいるわ、で辟易したので、...」
  • link 13年3月27日
    すずき (07/01 02:14)
    「[車の修理が終わった] 目次: 車先日レガシィを運び込んだ(2013年3月25日の日記参照)ディーラーから電話があり「バッテリ...」
  • link 22年7月18日
    すずき (07/01 02:03)
    「[GNU tarのアーカイブ圧縮方式の判定] 目次: LinuxGNU tarのxオプションは圧縮されたtarでも正しく展開し...」
  • link 23年4月10日
    すずき (07/01 02:03)
    「[Linux - まとめリンク] 目次: Linux関係の深いまとめリンク。目次: RISC-V目次: ROCK64/ROCK...」
  • link 21年12月28日
    すずき (07/01 02:01)
    「[ゲーム - まとめリンク] 目次: ゲーム一覧が欲しくなったので作りました。PlayStation Vitaのアプリ達が寿命...」
  • link 22年8月6日
    すずき (07/01 02:00)
    「[ゲーム用PCを作ろう] 目次: ゲームずっとグラフィック性能のしょぼいノートPCでゲームをしていましたが、描画が遅すぎて「コ...」
  • link 15年9月20日
    すずき (07/01 01:53)
    「[PlayStation Vitaのアプリ達が寿命を迎えている] 目次: ゲームPS Vitaのfacebookアプリのサポー...」
  • link 21年1月30日
    すずき (07/01 01:48)
    「[PlayStation Vitaのアプリがめちゃ減っている] 目次: ゲーム久しぶりにPlayStation Vitaを起動...」
  • link 13年3月13日
    すずき (07/01 01:33)
    「[ffmpegビルドふたたび] 目次: Linux以前(2009年5月22日の日記参照)ビルドしたffmpegがいい加減古くな...」
  • link 10年9月5日
    すずき (07/01 01:24)
    「[レガシィ納車と大阪府内ドライブ] 目次: 車車(スバル レガシィB4 2.0 GT、AT車)も納車されたことだし、下道(R1...」
  • link 24年8月25日
    すずき (06/26 09:01)
    「[レガシィの7回目の車検完了&タイヤ交換(FALKEN AZENIS)] 目次: 車ディーラーまで車検の車を取りに行きました。...」
  • link 11年5月1日
    すずき (06/26 08:58)
    「[パンクしたのでタイヤ交換(DNA ECOS)] 目次: 車奥さん、友人とともに、ジャパン牧野店へ飲み物の買い出しに行きました...」
  • link 17年6月4日
    すずき (06/26 08:57)
    「[レガシィのタイヤ交換(DNA ECOS)] 目次: 車気づけば6年(2011年5月1日の日記参照)経過しており、ヒビ割れてい...」
  • link 17年6月7日
    すずき (06/26 08:53)
    「[USB 3.0を使うとワイヤレスキーボードの動作不良? - USB 3.0をざっくり調べる] 目次: PC先日(2017年6...」
  • link 17年6月5日
    すずき (06/26 08:50)
    「[USB 3.0を使うとワイヤレスキーボードの動作不良? - USB 3.0と2.5GHzの関係] 目次: PC以前(2017...」
  • link 24年7月7日
    すずき (06/26 08:50)
    「[PC - まとめリンク] 目次: PC一覧が欲しくなったので作りました。 スピーカーGX-D90故障ノートPCの内蔵サウンド...」
  • link 17年6月2日
    すずき (06/26 08:48)
    「[USB 3.0を使うとワイヤレスキーボードの動作不良?] 目次: PCサーバのワイヤレスキーボードが妙に調子悪くて不思議だっ...」
  • link 25年6月19日
    すずき (06/25 21:50)
    「[歴代据え置きハードのCPUとGPU] 目次: ゲーム最近、据え置きハードのCPUとGPUがNVIDIAとAMDに収束していま...」
  • link 25年6月18日
    すずき (06/22 23:33)
    「[Nintendo Switch 2当選] 目次: ゲームSwitch 2の抽選4回目で当選してました。わーい。今回も落選だっ...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 2025年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 07/01 02:15