小编lan*_*ng2的帖子

字符串数组转换

我有以下代码:

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的行上.这确实是非法的代码还是没问题?

谢谢你的回答.我现在知道我的问题在哪里.但是,它提出了一个新问题:

字符串数组初始化

c ansi-c

8
推荐指数
1
解决办法
174
查看次数

open()系统调用多态

我刚刚发现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如何实现这一目标?

c system-calls

8
推荐指数
2
解决办法
596
查看次数

scapy:发送数据包时不允许操作

我正在尝试用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套接字吗?如果是这样,有解决方案吗?

scapy

8
推荐指数
3
解决办法
1万
查看次数

OSX 上的 AF_PACKET

在 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 上实现同样的效果?

sockets macos

7
推荐指数
2
解决办法
7557
查看次数

sqlalchemy:每次提交都需要回滚吗?

我正在为我的网络应用程序使用 SQLAlchemy。我见过很多这样的代码:

try:
   session.commit()
except:
   session.rollback()
Run Code Online (Sandbox Code Playgroud)

我想知道是否每个操作都需要它commit()。如果是,那为什么它不是操作的一部分commit()?如何决定何时做rollback()、何时不做?

python mysql sqlalchemy

7
推荐指数
1
解决办法
3154
查看次数

C中的UTF8处理

我对UTF8有基本的了解:代码点具有可变长度,因此"字符"可以是8位,16位甚至更长.

我想知道的是,如果C语言中有一些示例代码,库等与UTF8字符串类似,就像CEg中的标准库那样告诉字符串的长度等等.

谢谢,

c unicode utf-8

6
推荐指数
1
解决办法
6767
查看次数

javascript裁剪(croppie)图像质量差

我正在尝试使用Croppie在将图像上传到服务器之前使用Javascript裁剪图像.它工作得很好,UI很好.但是,在玩这个演示时,我注意到最终图像的质量比原始图像质量差得多 - 我使用的是1920x1080图像.

有没有解决这个问题?

我也接受其他图书馆的推荐:)

javascript canvas

6
推荐指数
2
解决办法
3500
查看次数

cxfreeze aiohttp无法导入compat

我正在尝试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)

python cx-freeze python-3.5

6
推荐指数
1
解决办法
2825
查看次数

kubernetes:是否可以为单个容器添加标签?

在 kubernetes 中,部署可以有标签。但在我的情况下,我需要 Pod 中的实际容器具有某些标签,以触发节点上的代理执行某些操作。

有没有办法为 Kubernetes 中的容器添加特定标签?

kubernetes

6
推荐指数
1
解决办法
1836
查看次数

kubeadm:主节点从未准备好

我正在关注一篇博文,用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)

我有点困惑: …

kubernetes kubeadm

6
推荐指数
1
解决办法
4396
查看次数