开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
C语言、Ubuntu10.04
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
Igh EtherCAT master
问题(Question):
甲. main.c中的 ecrt_master_receive(master)这个函数呼叫照理说应该跳到ecrt.h
乙. 可是使用GDB的实际执行它却是跳到ethercat-1.5.2\lib\master.c 中执行
丙. 照我的理解真正实作接收封包的部分应该是在ethercat-1.5.2\master\master.c 中
的程式码
所以我搞不清楚实际上的运作方式,照我对C语言的理解它应该是执行 甲 这个结果
可是使用GDB却是执行 乙 这个结果
但是我对于整个行为的协定理解应该是要跳到 丙 才是
这让我一团混乱
程式码(Code):(请善用置底文网页, 记得排版)
https://hackpad.com/EtnerCAT-Igh-master-niX7PUPCNrW
作者:
Feis (永远睡不着 @@)
2015-05-15 15:19:00会期望程式在 .h 里面执行, 应该是不知道 .h 的作用 ?如果真的跑到 .h 里面, 那他的执行的内容是什么 ?至于乙跟丙的话, 应该是因为他类似有两个程式在跑, 你用的在 user space 之类的, 只是把东西接出来我不知道这在干吗的. 不过我猜你想追的是 kernel module 类的. (水晶球快告诉我吧~)