我的内核包含一些私有变量长度数组。内核可以在Mac中编译和执行,但在Linux OpenCL中失败。在linux中,错误是this.render = function(self){
if(self.data){
self.x = d3.scaleLinear()
.domain([0, d3.max(self.data.map(function(d) {
return parseInt(d.daily_count);
}))
])
.range([0, 500]);
var chart = d3.select("#chart");
var bars = chart.selectAll("d")
.data(self.data)
bars.enter().append('div')
.attr('class', 'bar-container row')
.each(function(d) {
d3.select(this).append('div')
.attr('class', 'label four columns');
d3.select(this).append('div')
.attr('class', 'bar eight columns');
})
.merge(bars)
.each(function(d){
d3.select(this).selectAll('div.label')
.text(function(d) {return d.date_string; });
d3.select(this).selectAll('div.bar')
.style('background-color', function(d){
return (d.daily_count == 0 ? 'white' : '#1EAEDB')
})
.style('color', function(d){
return (d.daily_count == 0 ? 'red' : 'white')
})
.style("width", function(d) {
return self.x(d.daily_count) + "px";
})
.text(function(d) {
return (d.daily_count == 0 ? 'closed' : d.daily_count)
});
})
bars.exit().remove();
。那么,如何在Linux OpenCL中支持变长数组?