Computer/Programming
-
Python defaultdict 조심할 것Computer/Programming 2021. 8. 10. 11:11
python defaultdict는 key가 있는지 확인하는 if문을 사용하지 않기 때문에 편리하다. 그런데 key를 access 하면 자동으로 그 key가 생기기 때문에 조심스럽게 사용해야 한다. from collections import defaultdict dd = defaultdict(list) dd[1].append(1) dd[2].append(1) dd[3].append(2) dd[1].append(1) dd Out[21]: defaultdict(list, {1: [1, 1], 2: [1], 3: [2]}) check_key = [1,2,3,4] for k in check_key: if k in dd: print(k, dd[k]) 1 [1, 1] 2 [1] 3 [2] dd Out[24]: de..
-
Visual Studio 2019 C++ Project Compliation with SDK 8.1Computer/Programming 2021. 3. 11. 11:07
When a Visual Studio 2019 C++ project using SDK 10.0 using Win32 API is compiled with SDK 8.1, we may have the following C2760 errors. Error C2760 syntax error: unexpected token 'identifier', expected 'type specifier' ... C:\Program Files (x86)\Windows Kits\8.1\Include\um\combaseapi.h 229 Then we need to modify the project property C/C++ - Language - Conformance mode. If we change the value Yes ..
-
Visual Studio 2019 Project File Compilation with Visual Studio 2015Computer/Programming 2021. 3. 11. 10:54
Setting the latest version of the Windows SDK in Visual Studio 2019 will set the value of "WindowsTargetPlatformVersion" to 10.0 in the project file. When we want compile with Visual Studio 2015, the value 10.0 will make many errors because Visual Studio 2015 requires exact SDK version. The exact version value will solve this problem. 10.0.19041.0
-
OLLVM Build on Windows 10 + Visual Studio 2019 with LLVM 12Computer/Programming 2021. 1. 20. 14:57
Copy OLLVM source code to LLVM 12 Get LLVM 12 source code from https://github.com/llvm/llvm-project . Get OLLVM source code built with LLVM 10 from https://github.com/isrc-cas/flounder . Copy OLLVM source code to LLVM 12 code. copy /r C:\Dev\ollvm\reference\flounder\llvm\include\llvm\Transforms\Obfuscation C:\Dev\ollvm\llvm-project\llvm\include\llvm\Transforms copy /r C:\Dev\ollvm\reference\flou..
-
Python 3 unittest vs. Python 2 unittest - __init__.pyComputer/Programming 2020. 4. 11. 20:14
Python 2 에서 unittest 할 때는 Module에 __init__.py 있으면 해당 디렉토리 안에서는 해당 디렉토리를 root로 하고 import에서 path를 생략해도 알아서 잘 했었다. Python 3에서는 unittest 할 때 __init__.py가 동작하지 않는다. 그래서 unittest 할 때 import 할 때 path를 다 넣어야 한다. 예를 들어 myproject ---- my_mod1.py ---- my_mod2.py tests ---- test_myproject.py my_mod2.py 에서 import my_mod1 되어 있으면 python -m unittest -f -v tests.test_my_project ModuleNotFoundError가 발생한다. 그래서 my_..
-
TDM GCC - GDB python 2, 3 동시 설치시 Python 3 site.py 참조Computer/Programming 2020. 2. 25. 10:23
TDM GCC 5.1 버전에서 GDB를 실행하면 파일에서 Python2를 사용하려 하는데 Python3 설치 되어 있으면 에러 발생 PYTHON 2를 설치해도 동일한 에러 발생 File ".../python3.6/site.py", line 183 file=sys.stderr) ^ SyntaxError: invalid syntax 이런 에러가 나온다. site.py 참조하면서 에러 발생. 살펴보니 커맨드창에서 Py -2 실행해도 동일한 에러가 발생한다. PYTHONHOME 환경변수를 지워 버리고 PYTHON2HOME, PYTHON3HOME 정도로 하면 에러가 해결 되고 정상 실행 된다.
-
QString to wchar_t arrayComputer/Programming 2019. 11. 27. 11:31
https://stackoverflow.com/questions/16225810/unable-to-convert-qstring-to-wchar-array/42361091#42361091 Unable to convert QString to WChar Array QString processName = "test.exe"; QString::toWCharArray(processName); I'm getting the following error: error: C2664: 'QString::toWCharArray' : cannot convert parameter 1 from 'QString' to 'wchar_... stackoverflow.com QString을 wchar_t로 바꿀 때 채택 된 첫 번 째 답이..
-
python defaultdict 이용한 histogram - key 검색과 초기화 없이 세기Computer/Programming 2019. 3. 22. 10:34
파이썬에서 dict 가지고 빈도 수 측정 하려면 다음과 같이 key가 있는지 검사하고 없으면 0으로 초기화, 있으면 +1을 한다. import random freq = dict() for i in range(100): dice = random.randint(1,6) if dice in freq: freq[dice] += 1 else: freq[dice] = 0 for n in freq: print('%d : %d times' % (n, freq[n])) defaultdict가 이런 귀찮음을 해결해 준다. 초기화 할 때 int 로 하게 되면 기본값을 0으로 가져가게 된다. import random from collections import defaultdict freq = defaultdict(int) f..