IEではDeleteキーだけで今までの検索の履歴を簡単に消せたけど、 MacのChromeでDeleteキーで消えないと思ってた。 [Shift]+[fn]+[Delete]で消せる。 Windowsは[Shift]+[Delete]のみ。
gcc, clang++, llvm-gcc ....
$ which clang++ /usr/bin/clang++ $ which g++ /usr/bin/g++ $ which llvm-g++ /usr/bin/llvm-g++ $ which llvm-gcc /usr/bin/llvm-gcc $ which gcc /usr/bin/gcc
Comparing clang to other open source compilers
バージョンを見る
$ clang -v Apple LLVM version 8.0.0 (clang-800.0.42.1) Target: x86_64-apple-darwin16.4.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin $ clang++ -v Apple LLVM version 8.0.0 (clang-800.0.42.1) Target: x86_64-apple-darwin16.4.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
$ g++ -v Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/c++/4.2.1 Apple LLVM version 8.0.0 (clang-800.0.42.1) Target: x86_64-apple-darwin16.4.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin $gcc -v Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/c++/4.2.1 Apple LLVM version 8.0.0 (clang-800.0.42.1) Target: x86_64-apple-darwin16.4.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
$ llvm-g++ -v Apple LLVM version 8.0.0 (clang-800.0.42.1) Target: x86_64-apple-darwin16.4.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin $ llvm-gcc -v Apple LLVM version 8.0.0 (clang-800.0.42.1) Target: x86_64-apple-darwin16.4.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
実体は同じ?
C++のコマンドラインのコンパイルでカレントでパスを入れたいとき Mac
#inclide
で相対パスにしないといけなさそうでいちいちfile not foundになった。
clang++ -std=c++11 -I ./ sample.cpp
のように-I
オプションで./
を指定した。
ヘルプはclang++ --help
で見られた。
Swift3 コピペ可能なNSTextField
NSTextField
で定義したやつはコピペできない・・・。
例えばこんなコード。
let urlField = NSTextField() urlField.frame = NSRect(x: 0, y: 0, width: 300, height: 20) urlField.lineBreakMode = NSLineBreakMode.byTruncatingHead urlField.usesSingleLineMode = true // do something
一応探すとperformKeyEquivalent
をオーバーライドして各イベントでコピペ用のコードを実装するっぽい。
Swift2のコードがあった。
override func performKeyEquivalent(event: NSEvent) -> Bool {
ではなく、with
をつけないとダメッっぽい。
・コピペできるNSTextFieldの継承クラス全コード
class Editing: NSTextField { private let commandKey = NSEventModifierFlags.command.rawValue private let commandShiftKey = NSEventModifierFlags.command.rawValue | NSEventModifierFlags.shift.rawValue override func performKeyEquivalent(with event: NSEvent) -> Bool { if event.type == NSEventType.keyDown { if (event.modifierFlags.rawValue & NSEventModifierFlags.deviceIndependentFlagsMask.rawValue) == commandKey { switch event.charactersIgnoringModifiers! { case "x": if NSApp.sendAction(#selector(NSText.cut(_:)), to:nil, from:self) { return true } case "c": if NSApp.sendAction(#selector(NSText.copy(_:)), to:nil, from:self) { return true } case "v": if NSApp.sendAction(#selector(NSText.paste(_:)), to:nil, from:self) { return true } case "z": if NSApp.sendAction(Selector(("undo:")), to:nil, from:self) { return true } case "a": if NSApp.sendAction(#selector(NSResponder.selectAll(_:)), to:nil, from:self) { return true } default: break } } else if (event.modifierFlags.rawValue & NSEventModifierFlags.deviceIndependentFlagsMask.rawValue) == commandShiftKey { if event.charactersIgnoringModifiers == "Z" { if NSApp.sendAction(Selector(("redo:")), to:nil, from:self) { return true } } } } return super.performKeyEquivalent(with: event) } }
こう使う。
let urlField = Editing() urlField.frame = NSRect(x: 0, y: 0, width: 300, height: 20) urlField.lineBreakMode = NSLineBreakMode.byTruncatingHead urlField.usesSingleLineMode = true // do something
詳細! Swift 3 iPhoneアプリ開発 入門ノート Swift3 + Xcode 8対応
- 作者: 大重美幸
- 出版社/メーカー: ソーテック社
- 発売日: 2016/11/05
- メディア: 単行本
- この商品を含むブログを見る
- 作者: 荻原剛志
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/12/27
- メディア: 単行本
- この商品を含むブログを見る