所有文件夹都有一个类型:它们中的大多数都被命名为"文件夹",但有些被称为"Mediaserver"或"本地硬盘"(翻译).如何使用C#检索这些文件夹类型?我找到了这个文件:如何在.NET中获得文件扩展名的描述
我from tkinter.ttk import *用来覆盖旧的Windows 98样式与新的Windows 8样式的小部件.当我创建菜单时,它被设置为新菜单:
menu = Menu(master)
Run Code Online (Sandbox Code Playgroud)
但是当我添加一个子菜单时,它被设计为旧菜单:
fileMenu = Menu(self, tearoff=False)
menu.add_cascade(label="Bestand", menu=fileMenu)
Run Code Online (Sandbox Code Playgroud)
它看起来像这样:

我想要的是这样的:

我在这里错过了一个导入,还是有一个新的子菜单ttk类?请告诉我.
假设我写了一个像这样的简单动态库:
#pragma once
extern int x;
extern int p(void);
Run Code Online (Sandbox Code Playgroud)
#include <lib.h>
#include <stdio.h>
x = 0;
int p(void) {
printf("lib: %d\n", x++);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
#include <lib.h>
#include <stdio.h>
int main(void) {
for (; !p(); x--) printf("a.c: %d\n", x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
#include <lib.h>
#include <stdio.h>
int main(void) {
for (; !p(); x = 0) printf("b.c: %d\n", x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
a 和 b 会打印什么?我可以想到可能发生的几件事:
x已声明extern但从未定义。x,包括lib. (bc …基本上,我在C中有一个内联函数:
struct array {
unsigned long size;
void* items;
};
typedef struct array* Array;
inline Array array_create(unsigned long initsize);
inline void array_free(Array this);
Run Code Online (Sandbox Code Playgroud)
我是否可以this在这种情况下自由使用关键字,或者更好地避免它,以及为什么(不是)?
编辑:这个问题起源于我使用的代码中的一个错误,inline void array_free(Array array);它改变了结果sizeof(array);并给了我使用的想法,this而不是适应(在我看来丑陋)sizeof(struct array);.