기나긴 삽질 끝에...


근데 폴더별로 vscode설정 넣어줘야 함

그러고 아직 폴더에 있는 cpp 파일일경우 제대로 안되는데 이거는 좀더 해봐야 할듯


ms에서 만든 cpp extension을 깔고


task.json 만들기

(Command + shift + P)에서 기본 빌드 작업 구성(Tasks:Configure Default Build Task) 누르면 자동으로 생김

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version""2.0.0",
    "tasks": [
        {
            "label""build cpp",
            "type""shell",
            "command""g++",
            "args": [
                "-g",
                "빌드할 cpp 파일"
            ],
            "group": {
                "kind""build",
                "isDefault"true
            }
        }
    ]
}
cs


그다음 디버그창에 들어가서 설정을 누르면 launch.json파일이 생김

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
{
    // IntelliSense를 사용하여 가능한 특성에 대해 알아보세요.
    // 기존 특성에 대한 설명을 보려면 가리킵니다.
    // 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요.
    "version""0.2.0",
    "configurations": [
        {
            "name""(lldb) Launch",
            "type""cppdbg",
            "request""launch",
            "program""${workspaceFolder}/a.out",
            "args": [],
            "stopAtEntry"false,
            "cwd""${workspaceFolder}",
            "environment": [],
            "externalConsole"true,
            "MIMode""lldb",
 
            "osx": {
                "command""clang++",
                "args": [
                    "-Wall",
                    "main.cpp",
                    "-v"
                  ],
                "isShellCommand"true,
                "showOutput""always",
                "problemMatcher": {
                    "owner""cpp",
                    "fileLocation": [
                        "relative",
                        "${workspaceRoot}"
                    ],
                    "pattern": {
                        "regexp""^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                        "file"1,
                        "line"2,
                        "column"3,
                        "severity"4,
                        "message"5
                    }
                }
            }
        }
    ]
}
cs



하고 실행하면 터미널이 뜨면서 출력은 터미널에 되는데 중간에 디버그 찍으면 vscode로 걸림

'C++' 카테고리의 다른 글

c++ 이름 감추기  (0) 2018.03.27
Fold expression, constexpr  (0) 2018.02.05
auto decltype  (0) 2018.01.08
c++11 typedef 사용하기  (0) 2018.01.08
enum to string  (0) 2017.08.03

https://linux.die.net/man/3/clock_gettime


1
2
3
4
5
6
7
8
9
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
 
int64_t __getTimeNsec() {
    struct timespec now;
    clock_gettime(CLOCK_THREAD_CPUTIME_ID , &now);
    return (int64_t) now.tv_sec*1000000000LL + now.tv_nsec;
}
cs


이렇게 하면 cpu타임으로 계산하기 때문에 break를 걸어도 시간계산에 영향을 미치지 않음

블라블라블라 쫙조그ㅏ,좍 하면서 빌드 안되면

android.mk 파일 인코딩 확인해볼것

UTF-8인지

Fold expression 

가변인자를 받게 해주는 c++17 기능

https://tech.io/playgrounds/2205/7-features-of-c17-that-will-simplify-your-code/fold-expressions


constexpr

컴파일타임에 상수를 체크하게 하는 예약어, 함수에도 붙을수 있다 

c++11에서 처음 등장해 c++14에서 업그레이드

14에서는 간단한 한줄의 변수를 사용할수 있게 되었다.

http://www.qaupot.com/wordpress/?p=2641



constexpr로 팩토리얼을 만든 예제가 있길래

심심해서 두개를 합쳐봄


https://github.com/vegemil/Effective-C--/blob/master/Effective%20C%2B%2B/Fold%20expression/Fold%20expression/Fold%20expression.cpp


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <iostream>
 
constexpr int integer2 = 2;
constexpr int startNumber = integer2 + 1;
 
template <typename... Args>
constexpr int Sigma(Args... args)
{
    int result = (args + ... + 1);
    return result;
}
 
int main(int argc, const char * argv[])
{
    int arrayWithFactorial[Sigma(startNumber)];
 
    printf("%d\n", Sigma(startNumber));
 
    return 0;
}
cs


'C++' 카테고리의 다른 글

c++ 이름 감추기  (0) 2018.03.27
[MAC] VS Code C++ debuging, compile  (0) 2018.03.12
auto decltype  (0) 2018.01.08
c++11 typedef 사용하기  (0) 2018.01.08
enum to string  (0) 2017.08.03

페이스북 4.29 업데이트에는 

https://github.com/facebook/facebook-android-sdk/blob/master/constants.gradle

에 종속성이 있음

관련 에러 (http://euna501.tistory.com/entry/No-resource-found-that-matches-the-given-name-attr-androidkeyboardNavigationCluster)


애플은 xcode 9로 빌드해야 함



build.gradle에서 

compileSdkVersion 26

buildToolsVersion "26.0.1"

로 업데이트


dependencies도 

compile 'com.android.support:appcompat-v7:26+'
compile 'com.android.support:design:26+'
compile 'com.android.support:recyclerview-v7:26+'
compile 'com.android.support:cardview-v7:26+'

로 업데이트




build.gradle 에서 


allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

추가해주면 끝



https://stackoverflow.com/questions/42313573/failed-to-resolve-com-android-supportappcompat-v725-1-0/44600733#44600733?newreg=57bb9ffcf3a14ed99a64d9a2d6eeba19

auto는 초기값을 보고 자료형을 결정(초기값 필수)

auto num = 4;     <<auto는 int로 인식 

decltype은 초기값이 필수가 아님

int f()

{

return 3;

}


decltype(f()) num1;        << int형


double num = 2.5;

decltype(num) num2;    << double형


decltype((d)) num3 = num2;        << double& 형 (이미 선언된 변수를 사용한다면 레퍼런스로만 사용한다)


'C++' 카테고리의 다른 글

[MAC] VS Code C++ debuging, compile  (0) 2018.03.12
Fold expression, constexpr  (0) 2018.02.05
c++11 typedef 사용하기  (0) 2018.01.08
enum to string  (0) 2017.08.03
winapi image button  (0) 2017.08.01

기존 방식

typedef double salary;

c++11방식

using salary = double;


'C++' 카테고리의 다른 글

Fold expression, constexpr  (0) 2018.02.05
auto decltype  (0) 2018.01.08
enum to string  (0) 2017.08.03
winapi image button  (0) 2017.08.01
char* to int  (0) 2017.04.07

https://stackoverflow.com/questions/41426030/install-parse-failed-no-certificates-in-android-studio-2-3-beta1with-android-v


android studio에서 signed로 빌드를 해서 테스트를 하는데

낮은버전에서 INSTALL_PARSE_FAILED_NO_CERTIFICATES 에러가 나면서 설치가 안됨


enter image description here


둘다 체크하고 빌드할것

+ Recent posts