在过去,我已经用C++编程语言创建了DirectX应用程序,但是,我想知道是否可以使用C编程语言来实现这一点.
谢谢.
首先,请点击此处
要点中的Map.svg是我正在使用的原始地图,得到了维基媒体共享.
现在,德克萨斯州的东部成本在原来的svg中有一块土地.我使用Inkscape删除它,并以一种奇怪的新方式重新编写路径.差异包含在要点中.
现在这种编写路径的新方法炸毁了我的解析器逻辑,我试图了解发生了什么.我希望有人在这里了解我所做的SVG文件格式.我承认我没有阅读整个SVG标准规范,但是我读过的部分没有提到任何关于丢失命令或相对坐标的内容.然后我可能一直在看不正确的规格,不确定.
我理解它的方式,SVG路径数据非常简单,如下所示:
(M,L,C)[point{n}] .... [Z] 然后重复恶心
现在,我试图理解的部分是这个新的Inkscape已经写出了看起来像相对坐标的东西,没有像L这样的命令,或L以某种方式暗示.我的直觉告诉我这里发生的事情对某人来说是显而易见的.为了我的价值,我正在用C语言进行解析.
我正在将ffplay作为后台进程运行,该进程将图像数据提供给主UI进程。我设置了“ SDL_VIDEODRIVER = dummy”,以禁止在SDL窗口中显示ffplay视频。
问题是,即使未显示视频输出窗口,ffplay进程仍会显示为应用程序窗口(坞站,CMD + TAB条目等)。我该如何避免呢?
我是Python的新手,所以也许我不能很好地表达它...
我有一个弦 '\xb9\xfe'
我希望它以这种方式打印'\xb9\xfe',而不是转换为汉字'?'。
正确的做法是什么?
我在这里按照这个教程在pygame中制作一个蛇游戏.这是我的setup.py代码:
import cx_Freeze
executables = [cx_Freeze.Executable("snake.py")]
cx_Freeze.setup(
name="Snake",
options={"build_exe":{"packages":["pygame"], "include_files":["apple.png","Aenemy.png","bomb.png","cherry.png","enemy.png","fire.png","iceimg.png","snakebod(2).png","snakebod.png","Explosion.wav","Explosion2.wav","jump.wav","Pickup_Coin.wav","Powerup.wav","openingsong.mp3","highscores.txt",]}},
description = "Snake Game made in python with pygame.",
executables = executables
)
Run Code Online (Sandbox Code Playgroud)
当我尝试在命令提示符中构建它时,我收到此错误
C:\ Users\Accounts\Documents\snake> C:/ Python35/python setup.py构建运行构建运行build_exe文件"C:\ Python35\lib\site-packages\cx_Freeze\hooks.py",第597行,在load_tkinter中tclSourceDir = os.environ ["TCL_LIBRARY"]
文件"C:\ Python35\lib\os.py",第681行,在getitem中从无KeyError引发KeyError(key):'TCL_LIBRARY'KeyError:'TCL_LIBRARY'
而且它没有建立.有谁知道如何解决这一问题?谢谢
在 python3 中执行此操作是否有效?
if request_link(requested_domain, requested_link) is not None
domain_res, link_res, r_res = request_link(requested_domain, requested_link)
parse_results(domain_res, r_res)
Run Code Online (Sandbox Code Playgroud)
这是否意味着解释器将两次查看同一个函数?
有效率吗?如果没有,检查函数是否不返回并根据结果采取行动的更好方法是什么?
谢谢你!
我试图了解from_bytes()实际的作用。
该文件提到这一点:
byteorder 参数确定用于表示整数的字节顺序。如果 byteorder 为“big”,则最高有效字节位于字节数组的开头。如果 byteorder 为“小”,则最高有效字节位于字节数组的末尾。要请求主机系统的本机字节顺序,请使用 sys.byteorder 作为字节顺序值。
但这并没有真正告诉我字节值是如何实际计算的。例如我有这组字节:
In [1]: byte = b'\xe6\x04\x00\x00'
In [2]: int.from_bytes(byte, 'little')
Out[2]: 1254
In [3]: int.from_bytes(byte, 'big')
Out[3]: 3859021824
In [4]:
Run Code Online (Sandbox Code Playgroud)
我试过了ord(),它返回这个:
In [4]: ord(b'\xe6')
Out[4]: 230
In [5]: ord(b'\x04')
Out[5]: 4
In [6]: ord(b'\x00')
Out[6]: 0
In [7]:
Run Code Online (Sandbox Code Playgroud)
我看不出任何1254或3859021824从上面的值计算。
我也发现了这个问题,但它似乎并没有确切解释它是如何工作的。
那么它是如何计算的呢?
首先要注意的是,我最近才开始了解WinAPI.我确定此问题之前已被多次询问,但出于某种原因,我无法在网上找到它.问题只是这个; 为什么要ShowWindow()在WinMain()执行消息循环之前在体内初始调用呢?为什么不简单地通过使用WS_VISIBLE标志将窗口设置为最初可见?
我对ShowWindow()函数的机制也有一些疑问.它实际发送了哪些消息?在MSDN中,它声明:
如果窗口在
WS_VISIBLE创建时具有样式,则窗口[WM_SHOWWINDOW]在创建之后但在显示之前接收此消息.当ShowWindowor或ShowOwnedPopupsfunction 更改其可见性状态时,窗口也会收到此消息.
这是否意味着ShowWindow()功能和Windows 之间的主要通信方式是通过WM_SHOWWINDOW消息?它还指出:
在
WM_SHOWWINDOW下列情况下不发送消息:
使用
WS_MAXIMIZE或WS_MINIMIZE样式创建顶级重叠窗口时.在函数
SW_SHOWNORMAL调用中指定标志时ShowWindow.
MSDN还声明:
应用程序第一次调用时
ShowWindow,应该使用WinMain函数的nCmdShow参数作为nCmdShow参数.
彼佐尔德指出,传递给此参数nCmdShow参数将是要么SW_SHOWNORMAL,SW_SHOWMAXIMIZED或SW_SHOWMINNOACTIVE.我是否可以从中获取该ShowWindow()函数唯一没有发送WM_SHOWWINDOW消息的时间,那就是当我们对它进行第一次初始调用时Winmain()?如果是这样,它如何让窗口显示?此外,所有这些都与窗户的实际绘画有什么关系?
我很抱歉,如果我的问题有点混乱,但是显示窗口的机制让我感到困惑,由于某种原因,很难在网上找到这些问题的明确答案(而不仅仅是信息的点点滴滴) ).任何帮助澄清所有这一切将不胜感激!
当我在服务器上创建套接字并接受传入连接时:
conn, addr = s.accept()
Run Code Online (Sandbox Code Playgroud)
打印conn.getsockname()和print s.getsockname()打印相同的端口号.
我认为'conn'应该代表一个新的插座.我如何获得这个新套接字的端口号?
谢谢!
所以标题建议有什么方法可以通过套接字连接获得网站/ IP的端口?我分配socket.gethostbyname()了简单的变量"ip",以便我可以在控制台中打印出结果,但是我可以对端口执行相同的操作吗?这是我用来学习的网站> https://docs.python.org/3/library/socket.html <和我想知道的是,如果这是一个很好的来源或者有谁知道更好的一个?非常感谢你:D