コグノスケ


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

link もっと前
2018年4月2日 >>> 2018年5月2日
link もっと後

2018年4月10日

外部イテレータ

イテレータには、

C++ 方式
集合の要素を指す
Java方式
集合の要素の「間」を指す

この2つがあるみたいで(他にもある?)、どらちもパーフェクトではありません。

C++ 方式
endが特殊(参照できない、あるIteratorのbeginとReverse Iteratorのendは一致しない)
Java方式
Random Iteratorが定義できない(?)少なくともJavaには無い

C++ もJavaも書いたことがある身としては、別にどちらの方式でも困らないと思っていたのですが、JavaでRandom Iteratorが使いたいときは、どうしたら良いのかわかりませんでした。

リストのインデックスを内包し、リストの要素の型を取るジェネリッククラスでも作れば良いのだろうか…??

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

編集者:すずき(2018/04/14 21:39)

コメント一覧

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



2018年4月14日

C言語のデフォルト機能と標準機能

目次: C言語とlibc

会社で隣の席の方がハマっていて相談されたことのメモです。といっても、私も調べて初めて知りましたから、偉そうなことは言えませんけども。

C言語をコンパイルする際、gccに言語標準オプション(-std)を付けてコンパイルすると「デフォルトの拡張機能」が全てOFF になります。

デフォルトの拡張機能とは、具体的には _DEFAULT_SOURCEを定義すると有効になる機能で、マニュアル(Man page of FEATURE_TEST_MACROS の _DEFAULT_SOURCE (glibc 2.19以降) の節)によれば、

「デフォルト」定義は、POSIX.1-2008で必須となっている定義と、BSDとSystem V由来の種々の定義を公開する。glibc 2.19以前では、これらのデフォルトは以下を明示的に定義するのとほぼ等価である。

cc -D_BSD_SOURCE -D_SVID_SOURCE -D_POSIX_C_SOURCE=200809

会社ではtimersub(BSD由来の機能)がコンパイルエラーになって初めて気づきました。普段POSIX由来か、BSD由来か、そんなことはほぼ意識せず使っていますから、最初はかなり意味不明でした。

この動きは機能は隠された機能でもバグでもなく、gccというかglibcの仕様です。先ほどのマニュアル(Man page of FEATURE_TEST_MACROS の _DEFAULT_SOURCE (glibc 2.19以降) の節)にも、

「デフォルト」が無効になるような状況は、個別のマクロが明示的に定義された場合や、コンパイラが「標準」モードのいずれか (例えばcc -std=c99) で起動された場合などである。

とあります。普段 -stdオプションなんて使わないので、こんな動きするなんて知りませんでしたね……。

編集者:すずき(2022/04/22 03:00)

コメント一覧

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



2018年4月18日

Linux 4.17でUniPhierオーディオ対応

目次: Linux

最近は会社でUniPhier向けのオーディオドライバ(+周辺の改変)をLinuxにcontributeしていました。

先日リリースされたLinux 4.17にも、当然ながら自分の書いたコードが入っています。LinuxのMAINTAINERSやコミットログに自分の名前が載っているのは、何だか不思議な感じがします。

UniPhierは残念ながらPCやスマホには縁が無いSoCですが、一部のテレビに入っていますので、気づかぬうちに使っているかもしれません。

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

編集者:すずき(2023/05/15 03:46)

コメント一覧

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



2018年4月23日

アイス

アイスの写真を10種類ほどアップロードして、アイス89種類になりました。明治が意外と増えませんね…。何でだろ。

集計してみると、こんな感じでした。括弧内は前回からの増加分。

  • 赤城乳業: 27(+2)
  • ファミマ: 6
  • グリコ: 8(+4)
  • 明治: 5
  • 森永: 13(+1)
  • ロッテ: 11(+2)
  • その他: 19(+3)

次のアップロード作業で100突破するのは確実ですが、アップロードの早さより、アイスの袋が増える早さの方が上で、我が家のアイスの袋たちは一向に減りません……。

編集者:すずき(2018/04/24 02:19)

コメント一覧

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



2018年5月2日

Windows 10クリーンインストール

今までのノートPCは5分以上掛かっても起動できなかったのに、Windows 10をクリーンインストールしたところ、2分くらいで起動するようになりました。Windowsは本当にイケてないです。

意外な落とし穴としてWindows 10はインストールイメージがDVDに収まらない(4.7GBを超えている)ため、USBドライブから起動できないPCの場合、クリーンインストールする手段がありません

まさかの外付けBDドライブ

私のPCはDVDドライブしか搭載しておらず、USBメモリからも起動できなかったため、もろにハマりました。どうしたものかな〜と考えた末にBlu-rayディスクにインストールイメージを書き込んで、外付けBDドライブから起動するという方法で乗り切りました。

当時は特に意味もなく買った外付けBDドライブと、BD-REディスクでしたが、こんな場面で助けられることになるとは思いませんでした。

BDありがとう。でもこれからも全然使わないんだろうなあ……。

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

編集者:すずき(2018/05/02 19:24)

コメント一覧

  • hdkさん(2018/05/02 21:42)
    2018 年にもなって USB メモリーから起動できない PC があるなんて......

    きのうダウンロードした Win10_1803_Japanese_x64.iso は、4,634,222,592 バイトでした。これなら片面 DVD-R にも入りそうですね。今回の大型アップデートを利用して、クリーンインストール (データを残さない選択肢を利用したアップデート) させる手でもうまくいったのかも知れませんね。
  • すずきさん(2018/05/02 22:21)
    一応補足しておくと、もう 6年前の PC です。過去日記によると購入は 2012年 2月でした。

    この PC はなぜか 128MB の古い USB メモリは起動ディスクとして認識しますが、128GB の新しい USB 3.0 メモリは認識しません。NTFS でフォーマットしたのが良くなかったのかなあ?

    Windows 10 の容量は、i386 向けと x64 向けを同居させたイメージを作成したせいで DVD に収まらなくなったのかもしれません。細かい設定を覚えていないので、今となっては何とも言えないです。

    インストールイメージを作り直そうにも Windows をぶっ潰すと Windows 10 のインストールイメージが作れなくなるジレンマがありますね。

    最終手段としては、仮想マシンにいったん Windows を入れる手がありますが、非常に面倒くさいです……。
  • hdkさん(2018/05/03 09:00)
    10 年前の PC でも普通に USB ブートできていたと思いますが... 確かに容量は関係あるかも知れないですね。BIOS ブートだと AA55 さえちゃんと入っていれば認識はするんじゃないかと思います。もちろん、正しくブートするようにブートセクターを書き込んでおく必要がありますが... もしかして容量が大きいから HDD 扱いになっていたりして... その場合はアクティブパーティションを作っておかないとブート可能と認識されないかも知れません。UEFI ブートだと NTFS は非対応の場合もあるので環境によります。

    Windows 10 の ISO ファイル、実は GNU/Linux からアクセスすると普通に直接ダウンロードできるんです。上に書いたファイルサイズはそれでダウンロードしたものです。要するに User-Agent で判断しているだけらしいので、Windows でも User-Agent さえ変えればダウンロードできたと思います。
  • すずきさん(2018/05/03 12:14)
    USB 3.0 メモリはブート対象リスト(F12 か何か連打した時に出るリスト)に出ないですね。

    DVD ドライブだとブランクメディアでもブート対象リストに出現しますが、USB 3.0 メモリは出てきません。パーティションとかそういう問題でもないのかな。

    ISO ファイルは Windows から作るほうが面倒くさいんですね。うーん、イマイチだな…。

    Windows 10 の ISO ファイルは、32ビット版と 64ビット版を分けたら、どちらも DVD に収まるサイズになりました。もし次があるとしたらこのイメージを使おうと思います。
open/close この記事にコメントする



link もっと前
2018年4月2日 >>> 2018年5月2日
link もっと後

管理用メニュー

link 記事を新規作成

<2018>
<<<04>>>
1234567
891011121314
15161718192021
22232425262728
2930-----

最近のコメント5件

  • link 02年8月4日
    lxbfYeaaさん (07/12 10:11)
    「555」
  • link 24年6月17日
    すずきさん (06/23 00:12)
    「ありがとうございます。バルコニーではない...」
  • link 24年6月17日
    hdkさん (06/22 22:08)
    「GPSの最初の同期を取る時は見晴らしのい...」
  • link 24年5月16日
    すずきさん (05/21 11:41)
    「あー、確かにdpkg-reconfigu...」
  • link 24年5月16日
    hdkさん (05/21 08:55)
    「システム全体のlocale設定はDebi...」

最近の記事3件

  • link 24年8月10日
    すずき (08/12 16:23)
    「[Linuxを調べる - initrdとカーネル引数] 目次: Linux今どき(?)のinitrdとカーネル引数の渡し方を知...」
  • link 23年4月10日
    すずき (08/12 15:08)
    「[Linux - まとめリンク] 目次: Linuxカーネル、ドライバ関連。Linuxのstruct pageって何?Linu...」
  • link 24年8月5日
    すずき (08/11 23:27)
    「[debootstrapと他アーキテクチャバイナリとbinfmt_misc] 目次: Linux以前、Debianのrootf...」
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 過去日記について

その他の情報

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

合計:  counter total
本日:  counter today

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

最終更新: 08/12 16:23