我找不到包含kstat_create方法的头文件

时间:2019-12-19 01:28:31

标签: c linux include kernel

我是Linux内核编程的新手,我正尝试在我的Linux Ubuntu 18.04系统中添加一个新的syscall,在其中使用kstat_create和kstat_install方法,但似乎找不到对应的头文件任何地方。在Oracle网站上,这些方法的包含行是sys / types.h和sys.kstat.h,我发现是linux / types.h而不是sys / types.h,但是在上述方法的任何地方都没有kstat.h被定义。 如果你们能帮助我,我将不胜感激。 预先感谢

2 个答案:

答案 0 :(得分:0)

使用apt-file搜索您丢失的文件。

这些是我来自ubuntu 16.04的搜索结果。对于18.04,它们可能略有不同,但这是您可以找到它们的方式。

sudo apt-get install apt-file
apt-file update

$ apt-file search kstat.h
db5.3-doc: /usr/share/doc/db5.3-doc/api_reference/C/lockstat.html
db5.3-doc: /usr/share/doc/db5.3-doc/api_reference/CXX/lockstat.html
db5.3-doc: /usr/share/doc/db5.3-doc/upgrading/upgrade_4_4_lockstat.html
libace-dev: /usr/include/ace/os_include/os_kstat.h
libzfslinux-dev: /usr/include/libspl/sys/kstat.h
python-scipy-doc: /usr/share/doc/python-scipy-doc/h

答案 1 :(得分:0)

将此export class ExampleView extends DOMWidgetView { initialize(){ const view = this; interface AppProps{ } interface AppState{ value:any } class Hello extends React.Component<AppProps,AppState> { constructor(props:any){ super(props); this.state = { value: view.model.get("value") } this.clickHandler = this.clickHandler.bind(this); } onChange(model:any){ this.setState(model.changed); } componentDidMount(){ view.listenTo(view.model,"change",this.onChange.bind(this)); } render(){ return <div><h1>Hello {this.state.value}</h1><button onClick={this.clickHandler}>Submit</button></div> } clickHandler(){ console.log("clicked") // this.state = {value:"set to something else"} this.setState(state => ({ value: "something else" })); console.log(view) // VM1302:1 Uncaught ReferenceError: view is not defined } } const $app = document.createElement("div"); const App = React.createElement(Hello); ReactDOM.render(App,$app); view.el.append($app); } } 包含在kstat_create标头的代码中。