2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

いまさらC/C++の学習

Last updated at Posted at 2021-04-28

Windows環境でC/C++について勉強していく。

環境:Windows10 +Visual Studio Community2019

1. Visual Studio設定

1-1.SDLチェックの無効化

無効化しない方が良いが、とりあえず昔のソースを使用したい場合などのために。
sanfなどでエラーになった場合の暫定対応。

プロジェクトのプロパティで、[C/C++]-[全般]-[SDLチェック]の値を「はい(/sdl)」から「いいえ(/sdl-)」に変更する。
image.png

#2.コード

2-1. 変数とポインタの基本

変数 ポインタ
宣言 int a = 1; int *b = NULL;
アドレスの確認 &a; b;
a; *b;

3.Tool

3-1.Google Test

3-1-1.困ったこと

■ヘッダファイルが見つからない
テスト用プロジェクトのプロパティで、「VC++ディレクトリ」のインクルードディレクトリで、
自身のディレクトリから1階層上に上がり、対象プロジェクトを指定する。
image.png

3-2.log4cpp

3-2-1.困ったこと

■コンパイルに失敗した
以下を参考に、とりあえず、log4cppのプロジェクトを右クリックし、
プロパティ⇒C/C++⇒プリプロセッサにある
プリプロセッサの定義にHAVE_SNPRINTFを追加したらdllが出来た。
http://piyolog6.blogspot.com/2016/08/vclog4cpp.html

■プロジェクトから使えない

4-3.spdlog

4-3-1.インストール

ヘッダーファイルを取ってきて、プロジェクト直下に「spdlog」ファイルを配置。
プロジェクトのプロパティで[c/C++]-[全般]にある「追加のインクルードディレクトリ」で【$(ProjectDir)】を指定する。

4-3-2.ソース

main.cpp
#include <iostream>
#include "spdlog/spdlog.h"

#include "spdlog/sinks/basic_file_sink.h"
#include "spdlog/logger.h"

int main()
{
    std::cout << "Hello World!\n";
    auto file_logger = spdlog::basic_logger_mt("basic_logger", "basic.txt");
    file_logger->info("hello!");
    // デフォルトのLoggerに登録
    spdlog::set_default_logger(file_logger);
    spdlog::info("Some info Log here!!!");
}

4.自分の規約

チーム開発するときの規約を考える。

4-1. プロジェクト開始前

4-1-1.ソリューションとプロジェクトは分ける

ソリューションファイルとプロジェクトファイルの場所は分ける。

×ダメな例

image.png

〇良い例

image.png

ソリューションを作成した後に自動的に作られる同名のプロジェクトを削除して、
ソリューションフォルダの下に、自分でプロジェクトを追加する。
なるべく階層構造にしていく。
なおプロジェクトを削除してもプロジェクトファイルは自動で削除されない模様。

4-2.コーディングルール

4-2-1.コメント

メソッドに対して、「///」コメントを作成する。

4-3.テストのルール

4-3-1.テストファイル名

テスト対象クラス+Test+(OK or NG)とする。

例)「Format.cpp」のテストを行う場合は、「FormatTestOK」と{FormatTestNG」を作成する。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?