我有以下代码:
char *array1[3] =
{
"hello",
"world",
"there."
};
struct locator_t
{
char **t;
int len;
} locator[2] =
{
{
array1,
10
}
};
Run Code Online (Sandbox Code Playgroud)
它用"gcc -Wall -ansi -pedantic"编译好.但是对于另一个工具链(Rowley),它抱怨
warning: initialization from incompatible pointer type
Run Code Online (Sandbox Code Playgroud)
在char**t的行上.这确实是非法的代码还是没问题?
谢谢你的回答.我现在知道我的问题在哪里.但是,它提出了一个新问题:
我刚刚发现open()(man 2 open)系统调用有两个版本:
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
Run Code Online (Sandbox Code Playgroud)
实际上,可以在单个C文件中使用它们,两者都可以工作.标准C如何实现这一目标?
我正在尝试用scapy学习一些数据包生成.它看起来很酷.根据一些文档我正在这样做:
l3=IP(dst="192.168.0.1", src="192.168.0.2", tos=(46 << 2))
Run Code Online (Sandbox Code Playgroud)
但只是为了得到以下错误信息:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/scapy/sendrecv.py", line 251, in send
__gen_send(conf.L3socket(*args, **kargs), x, inter=inter, loop=loop, count=count,verbose=verbose, realtime=realtime)
File "/usr/lib/python2.7/dist-packages/scapy/arch/linux.py", line 307, in __init__
self.ins = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(type))
File "/usr/lib/python2.7/socket.py", line 187, in __init__
_sock = _realsocket(family, type, proto)
error: [Errno 1] Operation not permitted
Run Code Online (Sandbox Code Playgroud)
以root身份运行scapy解决了这个问题.但这不是我想要的.是因为普通用户无法创建RAW套接字吗?如果是这样,有解决方案吗?
在 Linux 上,可以使用 AF_PACKET 创建套接字以从套接字接收原始数据并在应用程序中进行 IP 过滤。但是 OSX 中的手册页没有这个:
PF_LOCAL Host-internal protocols, formerly called PF_UNIX,
PF_UNIX Host-internal protocols, deprecated, use PF_LOCAL,
PF_INET Internet version 4 protocols,
PF_ROUTE Internal Routing protocol,
PF_KEY Internal key-management function,
PF_INET6 Internet version 6 protocols,
PF_SYSTEM System domain,
PF_NDRV Raw access to network device
Run Code Online (Sandbox Code Playgroud)
这不是POSIX标准接口吗?如何在 OSX 上实现同样的效果?
我正在为我的网络应用程序使用 SQLAlchemy。我见过很多这样的代码:
try:
session.commit()
except:
session.rollback()
Run Code Online (Sandbox Code Playgroud)
我想知道是否每个操作都需要它commit()。如果是,那为什么它不是操作的一部分commit()?如何决定何时做rollback()、何时不做?
我对UTF8有基本的了解:代码点具有可变长度,因此"字符"可以是8位,16位甚至更长.
我想知道的是,如果C语言中有一些示例代码,库等与UTF8字符串类似,就像CEg中的标准库那样告诉字符串的长度等等.
谢谢,
我正在尝试使用Croppie在将图像上传到服务器之前使用Javascript裁剪图像.它工作得很好,UI很好.但是,在玩这个演示时,我注意到最终图像的质量比原始图像质量差得多 - 我使用的是1920x1080图像.
有没有解决这个问题?
我也接受其他图书馆的推荐:)
我正在尝试cx_freeze使用该aiohttp软件包为使用Python 3编写的Web应用程序构建二进制dist .
基本上我做了:
cxfreeze server.py
Run Code Online (Sandbox Code Playgroud)
得到了一个dist输出
但是在运行./server二进制文件时,我收到以下消息:
File "/usr/local/lib/python3.5/dist-packages/cx_Freeze/initscripts/__startup__.py", line 12, in <module>
__import__(name + "__init__")
File "/usr/local/lib/python3.5/dist-packages/cx_Freeze/initscripts/Console.py", line 24, in <module>
exec(code, m.__dict__)
File "server.py", line 1, in <module>
File "/usr/local/lib/python3.5/dist-packages/aiohttp/__init__.py", line 10, in <module>
from .protocol import * # noqa
File "/usr/local/lib/python3.5/dist-packages/aiohttp/protocol.py", line 17, in <module>
from . import errors, hdrs
File "/usr/local/lib/python3.5/dist-packages/aiohttp/errors.py", line 3, in <module>
from asyncio import TimeoutError
File "/usr/lib/python3.5/asyncio/__init__.py", line 21, in <module>
from .base_events …Run Code Online (Sandbox Code Playgroud) 在 kubernetes 中,部署可以有标签。但在我的情况下,我需要 Pod 中的实际容器具有某些标签,以触发节点上的代理执行某些操作。
有没有办法为 Kubernetes 中的容器添加特定标签?
我正在关注一篇博文,用kubeadm设置kubernetes集群.所以我有一个用桥接网络创建的Virtualbox,只需按照说明操作即可.
我最初只是做了kubeadm init它并没有奏效(掌握NotReady).所以我想也许旧版本可能会更好.
所以我做了
kubeadm init --kubernetes-version v1.6.2
Run Code Online (Sandbox Code Playgroud)
它完成得很快.但kubeadm get nodes总是回报:
master NotReady 4m v1.6.3
Run Code Online (Sandbox Code Playgroud)
我检查了下载的docker图像,它们是这样的:
gcr.io/google_containers/kube-proxy-amd64 v1.6.2 7a1b61b8f5d4 4 weeks ago 109.2 MB
gcr.io/google_containers/kube-controller-manager-amd64 v1.6.2 c7ad09fe3b82 4 weeks ago 132.7 MB
gcr.io/google_containers/kube-apiserver-amd64 v1.6.2 e14b1d5ee474 4 weeks ago 150.5 MB
gcr.io/google_containers/kube-scheduler-amd64 v1.6.2 b55f2a2481b9 4 weeks ago 76.76 MB
gcr.io/google_containers/etcd-amd64 3.0.17 243830dae7dd 12 weeks ago 168.9 MB
gcr.io/google_containers/pause-amd64 3.0 99e59f495ffa 12 months ago 746.9 kB
Run Code Online (Sandbox Code Playgroud)
并docker ps显示以下容器正在使用的输出pause
k8s_POD_kube-scheduler-master_kube-system_e4c05f51e4e89758e2fb58eb9c457e66_2
k8s_POD_kube-controller-manager-master_kube-system_14cceb4cae4afafe5d2872cedc46b03f_2
k8s_POD_etcd-master_kube-system_7075157cfd4524dbe0951e00a8e3129e_2
k8s_POD_kube-apiserver-master_kube-system_bd46883c0ce86694060fb2924470cfa7_2
Run Code Online (Sandbox Code Playgroud)
我有点困惑: …
c ×3
kubernetes ×2
python ×2
ansi-c ×1
canvas ×1
cx-freeze ×1
javascript ×1
kubeadm ×1
macos ×1
mysql ×1
python-3.5 ×1
scapy ×1
sockets ×1
sqlalchemy ×1
system-calls ×1
unicode ×1
utf-8 ×1