IT/파이썬 2021. 6. 9.
파이썬 - 순환 참조 문제 Circular Imports 에러
파일 여러개로 작업할 때 서로 순환참조되어 호출 되는 경우가 많다. 필요할 때 딱 쓰려고 import 했는데, 그 파일에 이미 자신의 파일이 import 되어서 쓰고 있으면 왠만해선 넘어가지 않고 머라머라 순환참조 문제일 수 도 있다고 Warning 이나 Error 가 발생한다. 요거 참 곤란한데 아주 좋은 해결책이 있었네. 아래 분의 블로그에 가시면 아주 자세하게 설명이 잘 되어 있으니 꼭 들어가 보시고, TYPE_CHECKING 상수를 활용하는 방법으로 import 순환 문제는 해결할 수 있을 거 같다. https://item4.blog/2017-12-03/Resolve-Circular-Dependency-on-Python-Typing/ Python typing으로 인한 순환 참조 대응책 Python..
IT/Software 2018. 8. 28.
[코딩] 함수포인터를 typedef으로 선언해서 쓰는 이유
함수포인터를 typedef으로 선언해서 쓰는 이유from : http://ingorae.tistory.com/483리턴타입 + (* 함수포인터 변수) ( 함수 인자 타입, .... )typedef int (*TestFuncPtr)(int);// 선언 TestFuncPtr testptr; // 사용 출처: http://ingorae.tistory.com/483 [잉고래의 잇다이어리]쉽게 위 코드에서 "TestFuncPtr" 은 변수명이 아니라 타입명이다.즉, int a; 라고 선언할 때의 int 와 같은 개념함수이름을 막 바꿔서 불러쓰고 싶을때는 함수포인터를 선언해서 써야겠지? ㅎㅎ수양이 필요해~~ 쉬운건 없어 ㅠㅠ
IT 2010. 3. 8.
[hdl] verilog 에서 explicit data type 으로 사용하기
how to assert error during compiling when using signal before declare.. 키워드는 바로 요거 `default_nettype none // turn off implicit data types 이렇게 하면 wire 를 선언하지 않고 그냥 쓰게 되면 컴파일 에러가 발생하게 된다. 이렇게 해야 오타등으로 인한 의도하지 않은 잘못된 signal name 을 쓰는 것을 방지할 수 있다. 즉, 내가 쓰고 싶은 wire(signal) name 이 abcd 였는데, 쓰다가 abce로 쓰더라도 그 에러를 찾기 힘들다. 기본적으로 선언하지 않은 것은 그냥 wire 선언된 것으로 인식하기 때문에.. 머든 정확하게 선언하고 쓰는 것이 에러를 줄이는 길이라 생각해.. ..w..