如何编译C-Python模块,使其在另一个模块中是本地的?例如,如果我有一个名为"bar"的模块和另一个名为"mymodule"的模块,如何编译"bar"以便通过"import mymodule.bar"导入?
(对不起,如果措辞不好,我不确定它的正确用语是什么.)
我在setup.py中尝试了以下操作,但它似乎不起作用:
from distutils.core import setup, Extension
setup(name='mymodule',
version='1.0',
author='Me',
ext_modules=[Extension('mymodule', ['mymodule-module.c']),
Extension('bar', ['bar-module.c'])])
Run Code Online (Sandbox Code Playgroud)
编辑
谢谢Alex.所以这就是我最终使用的:
from distutils.core import setup, Extension
PACKAGE_NAME = 'mymodule'
setup(name=PACKAGE_NAME,
version='1.0',
author='Me',
packages=[PACKAGE_NAME],
ext_package=PACKAGE_NAME
ext_modules=[Extension('foo', ['mymodule-foo-module.c']),
Extension('bar', ['mymodule-bar-module.c'])])
Run Code Online (Sandbox Code Playgroud)
当然还有一个名为"mymodule"的文件夹__init__.py.
是否最好明确设置枚举字段而不是仅定义其名称?例如Enum1与Enum2的任何利弊?
Enum1:
enum SomeEnum
{
Something1 = 0,
Something2 = 1
}
Run Code Online (Sandbox Code Playgroud)
Enum2:
enum SomeEnum
{
Something1,
Something2
}
Run Code Online (Sandbox Code Playgroud)
PS此问题与存储在数据库中的枚举无关,需要明确设置值.
编辑:说所有值都是0,1等等......它们不是负数或其他东西.
我有一个现在为空的接口,并扩展了另一个接口.我想删除空接口并使用基接口,并试图在IntelliJ中找到正确的重构.
我已经尝试过"删除中间人",但得到了"无法执行重构.插入符号应位于要重构的字段的名称".
我正在尝试运行简单的perl dbi示例脚本来连接到mysql数据库并进行一些插入.
码:
#! bin/usr/perl -w
use strict;
use warnings;
use DBI();
my $dbh = DBI->connect(
"DBI:mysql:database=SPM;host=IP Address", "username", "password",
{'RaiseError'=>1}
);
my $dbh->do(
'INSERT INTO payment_methods(name, description)VALUES(CASH, DOLLAR)'
);
my $dbh->disconnect();
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用这个时,perl filename.pl我得到了以下内容
Can't call method "do" on an undefined value at perldbi.pl line 12
这是我do第一次使用的地方.
我试图谷歌它,并尝试所有不同类型的论坛但是徒劳,如果你有任何想法为什么这发生了什么是这样的方式比它真的很棒我真的很感谢你的帮助.
UIViewAnimationTransitionCurlUp然而,我有一个工作过渡使用,我希望动画中途停止,就像地图应用程序...有关如何实现这一点的任何想法?
持续这个问题,我很困惑,是否DISPID_VALUE对IDispatch::Invoke()脚本的功能和属性(JavaScript的在我的情况),可以被认为是标准的,可靠的用于调用由所代表的实际作用IDispatch?
如果是,在MSDN的任何地方都提到了吗?
请注意,问题是关于是否可以预期这种行为,而不是事先我不知道的某些界面可能是什么样子.
一个简单的用例是:
// usage in JavaScript
myObject.attachEvent("TestEvent", function() { alert("rhubarb"); });
// handler in ActiveX, MyObject::attachEvent(), C++
incomingDispatch->Invoke(DISPID_VALUE, IID_NULL, LOCALE_SYSTEM_DEFAULT,
DISPATCH_METHOD, par, res, ex, err);
Run Code Online (Sandbox Code Playgroud)
编辑:试图澄清问题.
由于类友谊不是在C++中继承的,那么"伪造"它的最佳方式是什么?
我正在考虑通过受保护的方法在要继承的基类中公开友元类的私有接口,但这导致必须两次写入(并维护)相同的接口.
还有其他方法吗?
我想知道是否有一个mercurial命令/扩展只测试给定的变更集是否在分支中.该命令将类似于:
hg contains [-r branch] changeset_id
Run Code Online (Sandbox Code Playgroud)
并应检查给定的变更集是否在当前/给定分支中,只返回"是"或"否".
我知道"debugancestor"命令,但是"是/否"答案更容易阅读.
如果有,是否有可能检查移植的变更集?
编辑:场景位于一个repo中,其中命名分支有多个头.让我们说一个分支被命名为"dev-X",具有超过1个头和更长的历史,至少用各种图形可视化跟踪它.我想弄清楚分支"dev-X"中的变更集X是否合并到另一个"dev-X"的头部.因此,我不能使用分支名称,只能使用变更集编号/哈希来指定分支.
最重要的是,我试图找出变更集X是否被移植到那里,可能需要超过1个移植步骤.我知道必要的信息存储在mercurial中(我在篡改mercurial内部时看到它),它只是无法通过命令行界面访问.
在我的模型中,我有很多不同对象的属性,我在设置对象的值时检查值,如果值不被接受,我将抛出一个异常,这对Windows窗体属性网格完美,但现在我正在尝试使用WPF设计新界面.在WPF中,当我将属性绑定到像文本框这样的控件时,当值更改时,我不知道如何处理异常并显示错误消息.例如:
public string ConnectionString
{
get
{
return (_ConnectionString);
}
set
{
try
{
_ConnectionString = value ;
_SqlConnection = new System.Data.SqlClient.SqlConnection(_ConnectionString);
_ConnectionTested = true;
}
catch (Exception caught)
{
_ConnectionTested = false;
_TableNameTested = false;
_FieldNameTested = false;
_ConditionTested = false;
_ConnectionString = "";
//----delete values----
ValuesCollection.Clear();
throw (new Exception("Can not Open the connection String \nReason : " + caught.Message ));
}
}
}
Run Code Online (Sandbox Code Playgroud)
和wpf部分是这样的:
<TextBox TextWrapping="Wrap" x:Name="ConnectionStringTextBox" Text="{Binding Path=ConnectionString, Mode=TwoWay}"/>
Run Code Online (Sandbox Code Playgroud)
无论如何,当文本框中的值更改时,检查模型是否抛出异常,然后向用户显示exception.message?
谢谢
我有一个asp.net复选框列表如下:
<asp:CheckBoxList ID="CheckBoxList_Genres" runat="server" RepeatColumns="3">
<asp:ListItem Selected="True">Action</asp:ListItem>
<asp:ListItem Selected="True">Comedy</asp:ListItem>
<asp:ListItem Selected="True">Classics</asp:ListItem>
<asp:ListItem Selected="True">Documentary</asp:ListItem>
Run Code Online (Sandbox Code Playgroud)
[...]
我有两个问题:文本与每个复选框不对齐,在某些浏览器(特别是Safari)中,复选框和文本之间没有填充(文本与复选框相对应).我知道这里发布的答案: 如何一致地跨浏览器对齐复选框及其标签
但是,我无法弄清楚如何在asp:checkboxlist上下文中实现这些样式; 我知道可以为checkboxlist设置css样式,但不要认为这允许我为"label"和"checkbox"设置单独的样式.帮助将不胜感激.
c++ ×2
.net ×1
activex ×1
asp.net ×1
c# ×1
com ×1
css ×1
curl ×1
data-binding ×1
dbi ×1
distutils ×1
friend-class ×1
html ×1
inheritance ×1
interface ×1
iphone ×1
java ×1
mercurial ×1
mysql ×1
perl ×1
python ×1
python-c-api ×1
refactoring ×1
theory ×1
transition ×1
wpf ×1