2018-03-01から1ヶ月間の記事一覧

【C/C++】ファイルパスに指定の拡張子(複数)が含まれるか安全にチェックする

ファイルパスの拡張子を単一の拡張子と比較する処理はネット上で散見されますが、ここではカンマ区切りの複数拡張子を安全に比較する処理を紹介します。 #include <stdio.h>#include <string.h>bool CheckExtension(const char *pszPath, const char *pszCmpExts){ // ファイル</string.h></stdio.h>…

【C/C++】macOS + Clang 環境でASLRを無効にしてコンパイルする

MacOSではLeopard以降、ASLRによりメモリ空間がランダム化されているため、gdbでスタックトレースする際に、実行毎にスタックのアドレスが変わり内容を追いにくい場合があります。 ここではASLRを無効にしてコンパイルする方法を記載します。 【確認環境】・…

ビットフラグの基本的な操作

ビットフラグの基本的な操作についてまとめました。各種機能をビットフラグで管理する処理では、次の3パターンを抑えればOKです。 特定のビット有無を確認する 確認したいビットとANDを取ります if (bitflag & 0x10){ // bitflagに0x10のビットが立っている}…

【Chrome Extension】Twitterの画像を開く際にオリジナルサイズ版(:orig)にリダイレクトする(続)

前回の記事ではChrome Extensionを用いたリダイレクト処理を実装しましたが、本記事ではリダイレクト処理をブラウザのアドオンとして実行する方法を紹介します。 manifest.jsonの作成 Chromeでアドオンを読み込む Firefoxでアドオンを読み込む アドオンの動…

【Chrome Extension】Twitterの画像を開く際にオリジナルサイズ版(:orig)にリダイレクトする

Twitterにアップロードした画像を表示するとリサイズされて表示されますが、画像のURL末尾に「:orig」を追記すると、オリジナルサイズの画像を取得できます。 【縮小サイズ画像】https://pbs.twimg.com/media/XXXX.jpg【オリジナル画像】https://pbs.twimg.c…